我的印象是virtualenv --no-site-packages
会创建一个完全独立且孤立的 Python 环境,但似乎并非如此。
例如,我全局安装了 python-django,但希望创建一个具有不同 Django 版本的 virtualenv。
$ virtualenv --no-site-packages foo
New python executable in foo/bin/python
Installing setuptools............done.
$ pip -E foo install Django
Requirement already satisfied: Django in /usr/share/pyshared
Installing collected packages: Django
Successfully installed Django
据我所知,pip -E foo install
以上内容应该是重新安装新版本的 Django。另外,如果我告诉 pip 冻结环境,我会得到很多包。我希望对于一个新的环境来说,--no-site-packages
这将是空白的?
$ pip -E foo freeze
4Suite-XML==1.0.2
BeautifulSoup==3.1.0.1
Brlapi==0.5.3
BzrTools==1.17.0
Django==1.1
... and so on ...
我是否误解了--no-site-packages
应该如何工作?