我是否使用`pyvenv`或`virtualenv`创建虚拟环境?

问题描述:

一些导游提到pyvenvpyvenvpyenv)谈论虚拟环境,如the official Python tutorial时。其他人提到virtualenv,如the Hitchhiker's Guide to Python。我试过pyvenv,我认为它的工作,你可以看到:我是否使用`pyvenv`或`virtualenv`创建虚拟环境?

,这些都是ve目录的内容:

所以可以pyvenv用于创建虚拟环境? virtualenv是否和pyvenv一样?哪一个应该更好地使用?

他们非常相似。主要区别在于virtualenv已经存在了很长时间,并且可以在大多数设置中使用。

pyvenv另一方面,它是为Python3设计的,自版本3.4开始随附标准库。

换句话说,virtualenv是经典的选择,而pyvenv是标准库的最新增加。我想pyvenv最终将取代virtualenv(只要Python 3的取代的Python 2:P)

+3

几乎是这样。 'pyvenv'不是标准库的一部分,而'venv'是Python 3.3以来的官方文档。 – ElmoVanKielmo

+0

下面是'venv'文档的链接,以供记录:https://docs.python.org/3/library/venv.html – naktinis

pyvenv基本上是围绕venv module的包装,其是因为Python 3.3标准库的一部分,是因为然后创建虚拟enviromnents的推荐的方式。而实际上pyvenv包装并不如此推荐。在Python> = 3.3中,请考虑直接使用venv模块,如链接文档中所述。较老的Python版本应该使用virtualenv来创建虚拟环境。

使用pipenv一种工具,其以类似于npm的方式统一pipvirtualenv。你可以使用它来安装和管理你的virtualenvs和你的依赖关系。