Python虚拟环境概述
Python项目开发期间,常涉及到不同的Python环境:
- Python版本不同- Python的大版本不同:Python2或Python3
- Python的小版本不同- Python2:比如 Python 2.6/Python 2.7
- Python3:比如 Python 3.6/Python 3.7/Python 3.8/...
 
- Python2:比如 
 
- 每个项目所安装的库的版本不同- 比如- 某些项目需要某个库的特定的版本:1.1.0b3的sqlalchemy
 
- 某些项目需要某个库的特定的版本:
 
- 比如
Python虚拟环境工具对比
- pyvenv- 概述- Python 3.3和- 3.4中创建虚拟环境的推荐工具
- 从Python 3.6之后- 不推荐使用:pyvenv
- 推荐使用:venv
 
- 不推荐使用:
 
 
- 概述
- venv- 概述- Python 3.3之后,标准库自带的模块,虚拟环境创建和管理工具:- venv
- 原理和作用类似于virtualenv,在一定程度上能够替代virtualenv- 目前来说,社区用virtualenv更多,暂时没太多人说要用venv取代掉`virtualenv
 
- 目前来说,社区用
- venv是- Python3.3才有的,- Python2.X不能使用
 
- 官网- venv — Creation of virtual environments — Python 3.8.2rc1 documentation
 
 
- 概述
- virtualenv- 概述- 之前常用的,虚拟环境工具
- virtualenv同时支持- Python2.X和- Python3.X
- 特别是在当前的生产环境中Python2.X还占有很大比例的情况下,我们依然需要virtualenv
- virtualenv:很常用的工具,用于创建虚拟环境
- 隔绝不同项目,使用不同Python环境和版本
- 官网PyPA也很认可
 
- virtualenvwrapper:一堆的virtualenv的扩展的集合- 内含工具- mkvirtualenv
- lssitepackages
- workon:切换多个虚拟环境
 
 
- 内含工具
- pipenv- 概述- requests的作者写的
- 希望把Pipfile,pip,virtualenv集成到一起
 
 
- 概述
 
- 概述
- 另外:Python多版本管理工具- pyenv- 概述- 第三方的、开源的多版本Python管理工具
- 用以管理在一台机器上多个Python发行版本的共存问题
- 隔离多个Python版本
- 比如一台Linux机器上同时安装Python2.7、Python3.4、Python3.5三个版本的管理
 
- 第三方的、开源的多版本
- pyenv-virtualenv- pyenv的插件:同时可以使用pyenv和virtualenv
- pyenv-virtualenvwrapper:把- virtualenvwrapper集成到了- pyenv
 
- pyenv的插件:同时可以使用pyenv和
 
- 概述
 
Python虚拟环境工具结论
- 结论- 优先推荐:简单方便好用的 virtualenv
- 其次推荐:locking有点耗时,但也很好用的:pipenv
 
- 优先推荐:简单方便好用的