Quiero crear uno virtualenv
usando otro como punto de partida, ¿es esto posible?¿Puede un virtualenv heredar de otro?
tengo que usar los casos en mente:
Digamos que tengo dos
virtualenv
uno para producción y otro para el desarrollo. El entorno de desarrollo requiere los mismos paquetes que el entorno de producción, pero requiere otros que no quiero en el entorno de producción. No quiero instalar los paquetes comunes dos veces.Quiero experimentar con una versión de desarrollo de un paquete, digamos
matplotlib
por ejemplo. La versión de desarrollo del paquete tiene los mismos requisitos que la versión estable. Así que creo unvirtualenv
llamadomatplotib_stable
e instalo los requisitos y la versión estable. Luego creo un segundovirtualenv
llamadomatplotlib_dev
y usomatplotlib_stable
como punto de partida (para los requisitosmatplotlib
) pero luego instalo la versión de desarrollo.
How do I install from a local cache with pip? parece abordar la cuestión de la descarga de paquetes, pero no creo que se trata de modificar sys.path
.
Cuando instalé el mismo paquete con diferentes versiones de ambos virtualenvs, descubrí el env exterior (ENV1) estaba tomando precedencia sobre el env interno (ENV2). Parece que add2virtualenv coloca sus rutas antes en la lista de importación sys.path. Una solución fácil es seguir el comando anterior con este: 'add2virtualenv $ WORKON_HOME/ENV2/lib/python2.6/site-packages' y luego funciona como un amuleto. – Yonatan
@Yann Gracias Yann! Instalo pylint en ENV1, luego 'add2virtualenv $ WORKON_HOME/ENV1/lib/python3.4/site-packages', pero pylint no funciona! – HelloNewWorld
@HelloNewWorld No he utilizado 'virtualenv' y' vertualenvwrapper' en un momento, ¿por qué no publicar una nueva pregunta sobre este tema? – Yann