Haga que virtualenv herede paquetes específicos de sus paquetes de sitios globales

Estoy buscando una forma de crear un virtualenv que contenga solo algunas bibliotecas (que elegí) de la instalación de python base.

Para ser más concreto, estoy intentando importar mi matplotlib a virtualenv durante la creación de virtualenv. No se puede instalar de manera eficiente con pip o easy_install, ya que omite algunas librerías de comstackdor fortran. 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 por manolly sean registrados por yolk (que imprime todas las librerías disponibles actualmente en virtualenv).

Entonces, ¿hay una manera de hacer una variante selectiva de la

 virtualenv --system-site-packages 

Crea el entorno con virtualenv --system-site-packages . Luego, active el virtualenv y cuando quiera que las cosas estén instaladas en el virtualenv en lugar del sistema python, use pip install --ignore-installed pip install -I o pip install -I . De esa manera, pip instalará lo que has solicitado localmente, aunque existe una versión para todo el sistema. Su intérprete de Python buscará primero en el directorio de paquetes de virtualenv, por lo que esos paquetes deberían ocultar los globales.

Puede usar --system-site-packages y luego “sobreinstalar” las cosas específicas para su virtualenv. De esa manera, todo lo que instales en tu virtualenv se tomará de allí, de lo contrario se tomará de tu sistema.

Instalar env virtual con

 virtualenv --system-site-packages 

y usa pip install -U to install matplotlib

Puedes usar virtualenv --clear . que no instalará ningún paquete, luego instale los que desee.