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

Do I use `pyvenv` or `virtualenv` for creating a virtual environment?

一些指南在谈论诸如 the official Python tutorial. Others mention virtualenv such as in the Hitchhiker's Guide to Python。我试过 pyvenv,我认为它的效果如您所见:

这些是 ve 目录的内容:

那么pyvenv可以用来创建虚拟环境吗? virtualenvpyvenv 的作用相同吗?应该使用哪一个更好?

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

另一方面,

pyvenv 是为 Python3 设计的,并且从 3.4.

版本开始随标准库一起提供

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

pyvenv 基本上是 venv module 的包装器,它是自 Python 3.3 以来标准库的一部分,并且是从那时起创建虚拟环境的推荐方式。实际上 pyvenv wrapper 并不那么推荐。在 Python >= 3.3 上考虑直接使用 venv 模块,如链接文档中所述。较旧的 Python 版本应使用 virtualenv 来创建虚拟环境。

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

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

  • pyvenv 是在 Python 3.3 中引入的,deprecated 自 Python 3.6 开始支持使用 python3 -m venv,并且它计划在 Python 3.8.

  • 中消失

作为实用建议,根据您的 Python 版本,使用以下命令创建一个名为 venv 的虚拟环境:

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

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