Virtualenvwrapper是一个围绕Python的virtualenv的用户友好的shell。
Python 3.3附带pyvenv内置于标准库中,旨在取代virtualenv。
但是如果我在Python3.3上安装Virtualenvwrapper,它仍会安装virtualenv,让我相信它不会使用'pyvenv'。
据推测这并不重要 - 如果我想在Python3.3上使用virtualenvwrapper,我应该高兴地让它使用virtualenv而不是pyvenv,并且(目前)会不会受到任何不良影响吗?
答案 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的任何包管理功能。