当我使用python 3.3时,python包virtualenv是否必要?

ari*_*lis 35 python virtualenv python-3.3

我正在查看Cristoph Gohlke的python包,我注意到有一个包Virtualenv for Python 3.3.

由于标准python库v3.3中有一个包venv,我想知道单独安装这个包是否有优势.

编辑:从两个软件包的文档,virtualenv 1.8.2venv我可以说,venv标准库包缺乏以下功能:

  1. --no-site-packages 选项
  2. 在setuptools之间进行选择或分发
  3. 无法安装pip,因为它在默认的python安装中不可用
  4. 没有在虚拟环境中自定义提示前缀 --prompt=PROMPT

如果我无法发现任何其他差异,请在此处写下.

Rob*_*bon 24

通常,使用python3.3或更高版本时不需要virtualenv包,因为它是通过PEP 405合并到标准库中的.正如您在问题中所述,最新版本的virtualenv与标准库中的venv包之间存在一些相对较小的差异.在某种程度上(例如--no-site-packages),这源于不同的实现.由于venv在标准库中,它不必跳过一些扭曲的箍,virtualenv以便创建一个自包含的python安装,例如复制python的大部分site模块.

最好的资源是彻底阅读PEP.

  • 请参阅Brett Cannon在PyCon13上的第14分钟http://pyvideo.org/video/1730/python-33-trust-me-its-better-than-27.他说,"因为它现在直接集成到python中,你可能习惯用的许多边缘情况现在已经消失,因为它是一种直接支持的东西". (3认同)