我原以为 virtualenv --no-site-packages
会创建一个完全独立的 Python 环境,但实际上并非如此。
例如,我在全球范围内安装了 python-Django,但希望创建一个带有不同 Django 版本的 viralenv。
$ 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
的工作原理?