Creé un virtualenv usando la --no-site-packagesopción e instalé muchas bibliotecas. Ahora me gustaría revertir la --no-site-packagesopción y usar también los paquetes globales.
¿Puedo hacer eso sin recrear el virtualenv?
Más precisamente:
Me pregunto qué sucede exactamente al crear un virtualenv usando la --no-site-packagesopción en lugar de no usar esa opción.
Si sé lo que sucede, entonces puedo descubrir cómo deshacerlo.
                    
                        python
                                virtualenv
                                
                    
                    
                        Olivier Verdier
fuente
                
                fuente

Respuestas:
Intente eliminar (o renombrar) el archivo
no-global-site-packages.txten suLibcarpeta en su entorno virtual.Donde venv es el nombre de su entorno virtual y python3.4 corresponde a la versión de python involucrada, por ejemplo:
Y si cambias de opinión y quieres volver a ponerlo:
Nota: Si no ve el archivo anterior, entonces tiene una versión más nueva de virtualenv. Querrás seguir esta respuesta en su lugar
fuente
virtualenv/python2.7/no-global-site-packages.txten mi servidor ubuntu.virtualenv/pyenv.cfgarchivo. Hay una opción para los paquetes de sitio:include-system-site-packages = falsecambie este valor y llame a Activate.ps1venvforPython 3.4.Al menos para Python 3.5.2, hay un
pyvenv.cfgarchivo en la raíz del directorio virtualenv. Todo lo que necesita hacer es cambiar lainclude-system-site-packagesbandera defalseatrue:fuente
Cuando use virtualenvwrapper para administrar virtualenvs, puede usar la función de shell
toggleglobalsitepackagespara cambiar entre usar y no usar paquetes de sitio.fuente
Intenta agregar un enlace simbólico entre
/virtualenv_root/lib/y/path/to/desired/site-packages/fuente
no-global-site-packages.txtningún lado.Vaya a su carpeta venv y ábralo
pyvenv.cfg. (Por ejemplo, si se llama a su entorno virtualmyenv, el archivo se ubicará enmyenv\pyvenv.cfg)Verás una configuración booleana llamada
include-system-site-packagesEstablezca esa configuración
truepara usar paquetes globalesSi desea deshabilitar el uso de paquetes globales, simplemente establezca esa configuración en su
falselugar.fuente