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
ていますか?