Tenía la impresión de que virtualenv --no-site-packages
crearía un entorno Python completamente separado y aislado, pero no parece.
Por ejemplo, tengo python-django instalado globalmente, pero deseo crear un virtualenv con una versión diferente de 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
Por lo que puedo decir, pip -E foo install
se supone que lo anterior reinstala una nueva versión de Django. Además, si le digo a pip que congele el medio ambiente, obtengo muchos paquetes. Esperaría que para un ambiente fresco con --no-site-packages
esto estaría en blanco?
$ 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 ...
¿Estoy malentendido cómo --no-site-packages
se supone que funciona?
--no-site-packages
está DEPRECADO. Retenido solo por compatibilidad con versiones anteriores. No tener acceso a los paquetes globales del sitio es ahora el comportamiento predeterminado . Si desea acceder a paquetes de sitio globales, puede habilitarlo --system-site-packages
.