Création d'environnements virtuels pour hériter de packages spécifiques à partir de l'installation de base de Python
Dans le domaine du développement Python, l'utilisation d'environnements virtuels est courante pour isoler packager les dépendances et maintenir les environnements spécifiques au projet. Cependant, il peut arriver que vous souhaitiez un environnement virtuel ne contenant que quelques bibliothèques sélectionnées de vos packages de site globaux. Cette question explore une méthode pour réaliser cet effort.
Pour élaborer, l'objectif est d'importer des packages spécifiques, tels que matplotlib, dans un virtualenv lors de sa création. Cependant, l'installation de packages comme matplotlib via pip ou easy_install peut être inefficace en raison de l'absence des bibliothèques du compilateur Fortran. Par conséquent, l'approche traditionnelle impliquait la copie manuelle des bibliothèques de l'installation de base de Python vers l'environnement virtuel.
Cependant, cette méthode entraîne l'impossibilité d'enregistrer les liens importés manuellement à l'aide de Yolk, qui répertorie les bibliothèques disponibles dans l'environnement virtuel. La question cherche une alternative plus sélective à l'indicateur --system-site-packages.
La solution réside dans l'utilisation de l'indicateur --system-site-packages pour créer le virtualenv, qui lui permet d'hériter du global packages de site. Une fois que virtualenv est actif, vous pouvez utiliser pip install --ignore-installed ou pip install -I pour installer des packages dans virtualenv, en remplaçant les versions existantes à l'échelle du système.
Cette approche permet un virtualenv personnalisé qui inclut packages souhaités tout en assurant une isolation de l'installation globale de Python.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3