折腾:
【已解决】CentOS服务器中搭建Python的Flask的REST API
期间,先要去解决,搭建Flask之前的,虚拟环境的工具的选择的问题。
python 虚拟环境
python 虚拟环境 替代
Pipenv & 虚拟环境 — The Hitchhiker’s Guide to Python
另外,看到:

Python 3 —— 新的最佳实践, 会继续存在。 Python 2 在仅仅 23 个月后就会退休!
-》更加确定了,此处的Python,还是用Python 3去写Flask比较好。
Python 2,之前有存在价值,现在可以用Python 3了。
-》好像之前说的,就是这个:Pipenv
之前用过的是这个virtualenv
Python开发必备神器之一:virtualenv| 编程派 | Coding Python
python3.4 venv 可以代替virtualenv吗? – 知乎
venv:好像一般?
- venv(pyvenv) 
- Python3.4标准库自带的创建虚拟机的模块为venv,脚本命令为pyvenv 
- venv模块是Python3.3之后标准库自带的虚拟环境创建和管理工具 
- 在一定程度上能够替代virtualenv 
- 但venv是Python3.3才有的,Python2.X不能使用 
- virtualenv 
- 之前常用的,虚拟环境工具 
- virtualenv同时支持Python2.X和Python3.X 
- 特别是在当前的生产环境中Python2.X还占有很大比例的情况下,我们依然需要virtualenv 
- pyenv 
- 第三方的、开源的多版本Python管理工具 
- 用以管理在一台机器上多个Python发行版本的共存问题 
- 比如一台Linux机器上同时安装Python2.7、Python3.4、Python3.5三个版本的管理 
-》那到底对于Python 3.X来说,是用 virtualenv还是pyenv呢?
Python3虚拟环境 venv搭建轻量级虚拟环境 – CSDN博客
好像venv也不错啊
venv pyenv virtualenv
用了pyenv-virtualenv, 天黑都不怕 | Darkof
pyenv/pyenv: Simple Python version management
pyenv/README.md at master · pyenv/pyenv
10000+的star
也说了:
- 用于一键切换,全局的Python的版本 
- 也支持,针对每个项目设置Pytohn 的版本 
- 或许就是类似于virtualenv的效果了? 
pyenv/pyenv-virtualenv: a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)
是个插件:a pyenv plugin to manage virtualenv
而其中的wrapper又是:
pyenv/pyenv-virtualenvwrapper: an alternative approach to manage virtualenvs from pyenv.
virtualenv 15.2.0 : Python Package Index
venv, pyenv, virtualenv, pipenv有什么异同
- virtualenv:很常用的工具,用于创建虚拟环境 
- 隔绝不同项目,使用不同Python环境和版本 
- 官网PyPA也很认可 
- virtualenvwrapper:一堆的virtualenv的扩展的集合 
- 内含工具: 
- mkvirtualenv 
- lssitepackages 
- workon:切换多个虚拟环境 
- pyenv:隔离多个Python版本 
- 比如你要测试:Python 2.6, 2.7, 3.3, 3.4 and 3.5 
- pyenv-virtualenv 
- pyenv的插件:同时可以使用pyenv和virtualenv? 
- pyenv-virtualenvwrapper:把virtualenvwrapper集成到了pyenv 
- pipenv:(requests的作者写的) 
- 希望把Pipfile,pip,virtualenv集成到一起 
- pyvenv:已废弃 
- Python 3自带的,但是在Python 3.6中已经废弃了 
- venv 
- 原理和作用类似于virtualenv 
- 目前来说,社区用virtualenv更多,暂时没太多人说要用venv取代掉virtualenv 
Tool recommendations — Python Packaging User Guide
PPG=Python Packaging Guide:推荐用pipenv
其他一些人建议用:venv
而(在Python 3.3之后,因为是内置的库了)具体用法是:
<code>python3 -m venv <MYVENV> </code>
而此处的CentOS服务器中,默认安装的Python是2.7.5:
<code>[root@naturling-general-01 ~]# python -V Python 2.7.5 </code>
所以,暂时还是先去用:pipenv
pyenv/pyenv-virtualenv: a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)
Python版本管理:pyenv和pyenv-virtualenv(MAC、Linux)、vi… – 简书
好像还是用:pyenv的pyenv-virtualenv(的pyenv-virtualenvwrapper?)
的比较多?
pyenv pipenv对比
Pyenv: python版本管理器
Pipenv: python包管理器,更好用的pip。
-》感觉还是Pipenv更适合包管理器?
或许还是Pyenv更好?
pipenv 更优雅的管理你的python开发环境 – PyLixm’Wiki – SegmentFault 思否
pypa/pipenv: Python Development Workflow for Humans.
看起来,的确更好用的感觉
Pipenv: Python Dev Workflow for Humans — pipenv 11.10.0 documentation
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境 – CSDN博客
python,venv,pyvenv,pyenv,virtualenv,virtualenvwrapper,pipenv等的区别?_virtualenv_帮酷编程问答
【总结】
目前还是暂定用:Pipenv
原因是:
- 官方推荐 
- github的star多(10000+) 
- 看起来使用起来很方便 
- 设计理念也是简单易用 
转载请注明:在路上 » 【已解决】Python3中选择合适的虚拟环境工具