Ich hatte den Eindruck, dass virtualenv --no-site-packagesdies eine völlig separate und isolierte Python-Umgebung schaffen würde, aber es scheint nicht so.
Zum Beispiel habe ich Python-Django global installiert, möchte aber eine virtuelle Umgebung mit einer anderen Django-Version erstellen.
$ 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
Soweit ich das beurteilen kann, soll das pip -E foo installoben Gesagte eine neue Version von Django neu installieren. Wenn ich pip anweise, die Umgebung einzufrieren, bekomme ich auch eine ganze Reihe von Paketen. Ich würde erwarten, dass für eine frische Umgebung damit --no-site-packagesdies leer wäre?
$ 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 ...
Verstehe ich falsch, wie --no-site-packageses funktionieren soll?
--no-site-packagesist DEPRECATED. Wird nur aus Gründen der Abwärtskompatibilität beibehalten. Der fehlende Zugriff auf globale Site-Pakete ist jetzt das Standardverhalten . Wenn Sie auf globale Site-Pakete zugreifen möchten, können Sie diese aktivieren --system-site-packages.