146 votes

Dans un script Python, comment définir PYTHONPATH?

Je sais comment le définir dans mon / etc / profile et dans mes variables d'environnement.

Mais que faire si je veux le définir lors d'un script? Est-ce que c'est important, sys? Comment fait-on ça?

238voto

David Z Points 49476

Vous ne définissez pas d' PYTHONPATH, vous ajoutez des entrées à l' sys.path. C'est une liste de répertoires qui doivent être recherchés pour les paquets Python, de sorte que vous pouvez simplement ajouter votre répertoires à cette liste.

sys.path.append('/path/to/whatever')

En fait, sys.path est initialisé par le fractionnement de la valeur de PYTHONPATH sur le séparateur de chemin de caractères (: sur des systèmes de type Linux, ; sur Windows).

Vous pouvez également ajouter des répertoires à l'aide de site.addsitedir, et cette méthode permettra aussi de prendre en compte .pth fichiers dans les répertoires que vous avez pass. (Qui ne serait pas le cas avec les répertoires que vous spécifiez dans PYTHONPATH.)

49voto

miku Points 63392

Vous pouvez obtenir et définir des variables d’environnement via os.environ :

 import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."
 

Mais puisque votre interprète fonctionne déjà, cela n'aura aucun effet. Votre mieux utiliser

 import sys
sys.path.append("...")
 

qui est le tableau, votre PYTHONPATH sera transformé au démarrage de l’interprète.

6voto

unbeli Points 9573

PYTHONPATH se termine dans sys.path , que vous pouvez modifier à l'exécution.

 import sys
sys.path += ["whatever"]
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X