Comment Python recherche les packages
Recommandations associées : "Vidéo Python"
Maintenant là Il n'y a probablement pas seulement un Python sur votre ordinateur, mais aussi plusieurs environnements virtuels. Lors de l'installation du package, vous oubliez accidentellement de faire attention au chemin du package d'installation. Tout d’abord, résolvons le problème de la recherche d’un sac. La réponse à cette question est très simple, mais beaucoup de gens ne connaissent pas ce principe. Si le chemin de votre interpréteur Python est
Répertoire de travail actuel (renvoie le résultat de la commande pwd)
Ici, si vous utilisez Python par défaut sous Linux,
Plusieurs fonctions utiles
sys.executable Le chemin de l'interpréteur Python actuellement utilisé
sys.path La liste des chemins de recherche du package actuel
sys.prefix actuellement utilisé
Exemple :
>>> import sys >>> sys.executable'/home/frostming/.pyenv/versions/3.7.2/bin/python' >>> sys.path ['', '/home/frostming/.pyenv/versions/3.7.2/lib/python37.zip', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/lib-dynload', '/home/frostming/.local/lib/python3.7/site-packages', '/mnt/d/Workspace/pipenv', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/site-packages'] >>> sys.prefix'/home/frostming/.pyenv/versions/3.7.2'
Utilisez des variables d'environnement pour ajouter le chemin de recherche
Si votre Si le Le chemin du package n'existe pas dans la liste des chemins de recherche répertoriée ci-dessus, vous pouvez ajouter le chemin à la variable d'environnement PYTHONPATH et séparer plusieurs chemins avec : (pour Windows ;).
Mais attention à éviter d'ajouter les chemins des packages de différentes versions de Python à PYTHONPATH, comme PYTHONPATH=/home/frostming/.local/lib/python2.7/site-packages, car les chemins dans PYTHONPATH are Donne la priorité au chemin de recherche par défaut, ce qui peut entraîner des problèmes de compatibilité si vous utilisez Python 3.
D'ailleurs, PATH est le chemin de recherche utilisé pour trouver les programmes exécutables. Si vous exécutez la commande my_cmd dans le terminal, le système analysera les chemins dans PATH afin de voir si my_cmd existe dans ce chemin, donc s'il indique que le programme est introuvable ou que la commande ne peut pas être reconnue, vous devez alors vérifier si le chemin a été ajouté à PATH.
Comment installer les packages Python
De nos jours, pip est essentiellement utilisé pour installer les packages Python Même si vous utilisez pipenv ou poety, la couche inférieure est toujours pip, qui. est toujours applicable. Si vous n'avez pas installé pip, veuillez vous référer ici. Si vous l'avez installé et que vous ne parvenez toujours pas à utiliser la commande pip, veuillez vous référer à la section précédente.
Il existe deux façons d'exécuter pip :
pip ... python -m pip ...
La première façon et la deuxième manière sont similaires, la différence est que l'interpréteur Python utilisé dans la première manière est pour écrire dans pip, généralement, si votre chemin pip est
Ensuite, sans ajouter de configuration personnalisée, utiliser pip pour installer le package l'installera automatiquement sous
Options dans pip pour modifier l'emplacement d'installation
--préfixe PATH, remplacez
Environnement virtuel
L'environnement virtuel consiste à isoler les packages de dépendances de différents projets et à les installer dans différents chemins pour éviter les conflits de dépendances. Après avoir compris comment Python installe les packages, il n'est pas difficile de comprendre les principes des environnements virtuels (modules virtualenv, venv). En fait, exécuter virtualenv myenv copiera un nouvel interpréteur Python dans myenv/bin et créera des répertoires tels que myenv/lib, myenv/lib/pythonX.Y/site-packages (le module venv n'est pas utilisé pour la copie, mais les résultats sont fondamentalement identiques). Après avoir exécuté la source myenv/bin/activate, myenv/bin sera inséré devant PATH, de sorte que l'interpréteur Python copié soit recherché en premier. De cette façon, lors de l'installation ultérieure du package,
Résumé
En voyant cela, vous pouvez constater que la chose la plus importante dans la recherche de chemin de package est le préfixe de chemin
Revenons maintenant aux trois questions du début, pouvez-vous les résoudre ? Écrivez vos étapes ou solutions de dépannage dans la zone de commentaires.
Les exemples de cet article utilisent tous les conventions de chemin Unix. S'il s'agit d'un système Windows, les modifications appropriées doivent être apportées. Par exemple,
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!