如果使用python的虚拟环境,可能经常会遇到这三个名词,今天终于搞清楚了他们三者之间的关系:
virtualenv是一个Python的虚拟环境库,是第三方的,需要通过pip安装。virtualenv支持最新的Python3.9.
venv是python3.3以后集成在python内部的一个自带的虚拟环境,不用通过pip单独安装。venv的功能是virtualenv的一个子集,他提供最基本的虚拟环境的功能,性能也会比virtualenv差一些。
virtualenvwrapper是virtualenv的一个扩展管理工具。需要通过pip 单独安装,他能够使用一套比virtualenv更简单、更直观的命令来管理使用虚拟环境。virtualenvwrapper在python3.6上测试无误,不一定完美支持python3.6以的上的版本。
如何选择:
- 如果临时的使用下虚拟环境,在python3.3以后就简单的使用venv来创建虚拟环境。
- 如果要长期使用虚拟环境,并且经常要在不同的虚拟环境中切换,那么就使用virtualenv+virtualenvwrapper 的组合。