点要求输出全局包装

Kin*_*Guy 4 pip virtualenv requirements.txt

我的django项目有一个虚拟环境,但是当我点击时pip freeze,我会得到一个全球站点软件包列表,其中包括太多的软件包,例如ubuntu软件包和许多无关紧要的东西。无论virtualenv是否处于活动状态,都会发生这种情况。我的网站软件包列表看起来也有些苗条,所以我想知道venv是否一直在工作。

(env)~/code/django/ssc/dev/env/lib/python2.7/site-packages> ls
django
Django-1.4-py2.7.egg-info
easy-install.pth
pip-1.0.2-py2.7.egg
setuptools-0.6c11-py2.7.egg
setuptools.pth
Run Code Online (Sandbox Code Playgroud)

我怎么了

gva*_*kov 5

如果您的虚拟环境可以访问系统的站点软件包目录(即您使用过的目录virtualenv --system-site-packages),那么列表通常会很长。

比较以下内容:

$ virtualenv --system-site-packages v1 && source v1/bin/activate
$ (v1) pip freeze | wc -l  # 100

$ virtualenv v2 && source v2/bin/activate
$ (v2) pip freeze | wc -l  # 2
Run Code Online (Sandbox Code Playgroud)

您可以尝试重新创建virtualenv吗?

或者,添加no-global-site-packages.txt文件应告诉pip忽略全局站点包:

$ touch $VIRTUAL_ENV/lib/python${version}/no-global-site-packages.txt
Run Code Online (Sandbox Code Playgroud)

  • 点子冻结--local有运气吗?甚至可以通过一个sudo pip install --upgrade pip virtualenv来解决问题?它真的不会加起来。 (4认同)