Creación de Virtualenvs para heredar paquetes específicos de la instalación base de Python
En el ámbito del desarrollo de Python, el uso de virtualenvs es un lugar común para aislar empaquetar dependencias y mantener entornos específicos del proyecto. Sin embargo, pueden surgir situaciones en las que desee un entorno virtual que contenga solo unas pocas bibliotecas seleccionadas de sus paquetes de sitio globales. Esta pregunta explora un método para lograr este objetivo.
Para profundizar, el objetivo es importar paquetes específicos, como matplotlib, en un virtualenv durante su creación. Sin embargo, instalar paquetes como matplotlib a través de pip o easy_install puede ser ineficiente debido a que faltan bibliotecas del compilador Fortran. Por lo tanto, el enfoque tradicional ha implicado la copia manual de bibliotecas desde la instalación base de Python al entorno virtual.
Sin embargo, este método resulta en la imposibilidad de registrar enlaces importados manualmente usando yol, que enumera las bibliotecas disponibles en el entorno virtual. La pregunta busca una alternativa más selectiva al indicador --system-site-packages.
La solución radica en utilizar el indicador --system-site-packages para crear el entorno virtual, que le permite heredar el entorno global. paquetes de sitio. Una vez que virtualenv esté activo, puede utilizar pip install --ignore-installed o pip install -I para instalar paquetes dentro de virtualenv, anulando las versiones existentes en todo el sistema.
Este enfoque permite un virtualenv personalizado que incluye paquetes deseados y al mismo tiempo proporcionar aislamiento de la instalación global de Python.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3