tutorial instalar entorno crear python virtualenv pip

instalar - virtualenv python 3 tutorial



virtualenv: Especificando qué paquetes usar a nivel de sistema vs local (1)

Posible duplicado:
Haga que virtualenv herede paquetes específicos de sus paquetes de sitio global

¿Hay una manera de crear un virtualenv para Python y especificar qué paquetes deben usarse (heredarse) de la instalación de todo el sistema, y ​​cuáles deben ignorarse de la instalación de todo el sistema?

Más específicamente, digamos, por ejemplo, que hay una instalación de todo el sistema de:

numpy scipy matplotlib

Me gustaría crear un entorno virtual tal que:

  • Utiliza la instalación de numpy el sistema de numpy y scipy
  • Ignora el matplotlib todo el sistema y me permite instalar / actualizar mis propias versiones (con pip -U matplotlib ).

es posible?


La forma más sencilla de hacerlo es crear un virtualenv que incluya los paquetes del sitio del sistema y luego instalar las versiones que necesita:

$ virtualenv --system-site-packages foo $ source foo/bin/activate $ pip install Django==1.4.3

También puede limpiar el virtualenv luego verificando la salida de pip freeze y eliminando los paquetes que no desea. (la eliminación de system-site-packages con pip uninstall ya no funciona con las versiones más nuevas de virtualenv)

Otra forma sería crear un virtualenv limpio y vincular las partes que necesita:

$ virtualenv --no-site-packages foo $ source foo/bin/activate $ ln -s /usr/lib/python2.7/dist-packages/PIL* $VIRTUAL_ENV/lib/python*/site-packages

Los comandos pueden ser ligeramente diferentes en un entorno no unixish. Las rutas también dependen del sistema que está utilizando. Para averiguar la ruta a la biblioteca, inicie el shell de Python (sin un virtualenv activado), importe el módulo y verifique module_name.__path__ . p.ej

Python 2.7.3 (default, Sep 26 2012, 21:51:14) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import PIL >>> PIL.__path__ [''/usr/lib/python2.7/dist-packages/PIL'']