我该使用 `pyvenv` 还是 `virtualenv` 来创建虚拟环境?

4

一些指南在谈论虚拟环境时提到 pyvenv而不是 pyenv),比如 官方Python教程。其他人则提到 virtualenv,比如 Python之旅指南。我尝试了 pyvenv,我认为它可以正常工作,你可以看到:

这是 ve 目录的内容:

那么,pyvenv 可以用来创建虚拟环境吗?virtualenvpyvenv 有相同的功能吗?哪一个更好用?

3个回答

5
它们非常相似。主要区别在于 `virtualenv` 已经存在了很长时间,并且可以在大多数设置中使用。
另一方面,`pyvenv` 是为 Python3 设计的,并自版本 `3.4` 起随标准库一同提供。
换句话说,`virtualenv` 是传统选择,而 `pyvenv` 是标准库的最新添加。我想 `pyvenv` 最终会取代 `virtualenv`(一旦 Python 3 取代 Python 2 :P)。

4
几乎正确。正式文档显示,pyvenv不是标准库的一部分,而venv自Python 3.3以来就是标准库的一部分。 - ElmoVanKielmo
这是 venv 文档的链接,供参考:https://docs.python.org/3/library/venv.html - naktinis

3

pyvenv基本上是venv模块的一个包装器,自从Python 3.3以来,venv模块就已经成为标准库的一部分,并且自那时起就推荐使用它来创建虚拟环境了。实际上,pyvenv包装器并不被推荐使用。在Python版本>=3.3中,建议直接使用链接文档中所述的venv模块。旧版的Python应该使用virtualenv来创建虚拟环境。


1

创建虚拟环境的方法取决于您使用的是Python 3还是2。

  • virtualenv 是一个用于创建隔离Python环境的工具。它可与Python 2和3一起使用。

  • pyvenv在Python 3.3中引入,自Python 3.6起已弃用,建议使用python3 -m venv,并计划在Python 3.8中消失。

作为实际建议,根据您的Python版本使用以下内容创建名为venv的虚拟环境:

$ virtualenv venv # in Python 2 
$ python3 -m venv venv # Python 3

无论您使用哪个Python版本,都会创建一个名为venv的文件夹,其中包含虚拟环境的文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接