使用带有Python3.3的virtualenvwrapper是否意味着我不能(或不应该)使用pyvenv?

时间:2013-09-20 07:21:55

标签: python virtualenv python-3.3 virtualenvwrapper python-venv

Virtualenvwrapper是一个围绕Python的virtualenv的用户友好的shell。

Python 3.3附带pyvenv内置于标准库中,旨在取代virtualenv。

但是如果我在Python3.3上安装Virtualenvwrapper,它仍会安装virtualenv,让我相信它不会使用'pyvenv'。

据推测这并不重要 - 如果我想在Python3.3上使用virtualenvwrapper,我应该高兴地让它使用virtualenv而不是pyvenv,并且(目前)会不会受到任何不良影响吗?

1 个答案:

答案 0 :(得分:31)

抱歉,这个答案有点延迟。 pyvenv 旨在取代virtualenv,事实上,Python 3中的virtualenv取决于标准库venv模块。

pyvenv 命令可创建一个绝对最小虚拟环境,可以在其中安装其他软件包。

virtualenv 的Python 3版本实际上是标准库实现的子类,并提供了自动安装setuptools和pip到pyvenv自身不能做的环境中的钩子。

据我所知 virtualenvwrapper 仅依赖于virtualenv,因为mkvirtualenv或mkproject命令允许您指定要安装到新环境中的软件包,这仅适用于virtualenv已经安装了setuptools和PIP。

所以为了回答你的问题,我相信你应该能够在pyvenv创建的环境中使用virtualenvwrapper,只要你遵循virtualenvwrapper关于放置东西的约定,你手动安装setuptools并pip到环境中或者不使用virtualenvwrapper的任何包管理功能。