修改 virtualenv,使全局 site-packages 中安装的包可用

16

可能重复:
如何在virtualenv中还原`--no-site-packages`选项

我按照virtualenvwrapper文档创建了一个虚拟环境,如下所示:

$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv env1

它基本上运行良好,但我遇到了一些Django问题,需要我安装一些全局包在我的虚拟环境之外。一旦我安装了这些包,我该如何更新虚拟环境以引入这些新的包?或者我需要从头重新创建环境吗?

1个回答

33

这个问题是部分重复的:如何在virtualenv中取消`--no-site-packages`选项

然而,由于这个问题特别提到了 virtualenvwrapper,所以当使用 virtualenvwrapper 时,最简单的解决方案就是使用它的 toggleglobalsitepackages 命令。它不需要任何参数,只会影响活动环境。

$ workon env1
(env1)$ toggleglobalsitepackages
Enabled global site-packages
(env1)$ toggleglobalsitepackages
Disabled global site-packages

或者你可以重新安装virtualenv,重新配置以访问全局包,在保留已安装的包的同时使用以下命令:

$ mkvirtualenv --system-site-packages env1

(感谢@Adaephon提供的有关toggleglobalsitepackages的提示)


1
完美,正是我所寻找的。 - Richard Keller
实际上,没有必要重新安装virtualenv,因为virtualenvwrapper自2011年4月2.7版本以来也提供了toggleglobalsitepackages命令。 - Adaephon
$ mkvirtualenv --system-site-packages env1已为您完成,谢谢。 - Nitesh

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