皮普要求输出全球包(Pip requirements outputting global packa

2019-09-22 20:08发布

我有一个虚拟ENV我的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

什么是我的问题吗?

Answer 1:

如果你的虚拟环境访问系统的站点包目录(即您使用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

你可以尝试重新创建的virtualenv?

另外,加入了no-global-site-packages.txt文件应该告诉PIP忽略全球站点包:

$ touch $VIRTUAL_ENV/lib/python${version}/no-global-site-packages.txt


文章来源: Pip requirements outputting global packages