Avevo l'impressione che virtualenv --no-site-packages
avrebbe creato un ambiente Python completamente separato e isolato, ma non sembra.
Ad esempio, ho installato python-django a livello globale, ma desidero creare un virtualenv con una diversa versione di Django.
$ 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
Da quello che posso dire, quanto pip -E foo install
sopra dovrebbe reinstallare una nuova versione di Django. Inoltre, se dico a pip di congelare l'ambiente, ottengo molti pacchetti. Mi aspetterei che per un ambiente fresco con --no-site-packages
questo sarebbe vuoto?
$ 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 ...
Sto fraintendendo come --no-site-packages
dovrebbe funzionare?
--no-site-packages
è deprecato. Conservato solo per compatibilità con le versioni precedenti. Non avere accesso ai pacchetti di siti globali è ora il comportamento predefinito . Se si desidera accedere a pacchetti di siti globali, è possibile abilitare --system-site-packages
.