python - como - Haga virtualenv heredar paquetes específicos de sus paquetes de sitio globales
virtualenv ubuntu (4)
Estoy buscando una forma de hacer un virtualenv que contenga solo algunas bibliotecas (que yo elijo) de la instalación base de python.
Para ser más concreto, estoy tratando de importar mi matplotlib a virtualenv durante la creación de virtualenv. No se puede instalar eficientemente con pip o easy_install ya que falla algunas compilaciones de compilador. La forma en que lo hice hasta ahora fue copiar manualmente desde
/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/
sin embargo, esto evita que los enlaces importados manualmente se registren por la yema (que imprime todas las libs disponibles actualmente en virtualenv).
Entonces, ¿hay alguna manera de hacer una variante selectiva del
virtualenv --system-site-packages
Crea el entorno con virtualenv --system-site-packages
. Luego, active el virtualenv y cuando instale cosas use pip install --ignore-installed
o pip install -I
. De esta forma, pip instalará lo que haya solicitado localmente aunque exista una versión para todo el sistema. Su intérprete python se verá primero en el directorio de paquetes de virtualenv, por lo que esos paquetes deberían sombrear los globales.
Instalar env virtual
virtualenv --system-site-packages
y use pip install -U to install matplotlib
Puede usar los --system-site-packages
y luego "sobreinstalar" las cosas específicas para su virtualenv. De esta forma, todo lo que instale en su Virtualenv se tomará desde allí, de lo contrario será retirado de su sistema.
Puedes usar virtualenv --clear
. que no instalará ningún paquete, luego instala los que quieras.