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éteur est déjà en cours d'exécution, cela n'aura aucun effet. Vous feriez mieux d'utiliser
import sys
sys.path.append("...")
qui est le tableau que votre PYTHONPATH
sera transformé en au démarrage de l'interpréteur.
Si vous mettez sys.path.append('dir/to/path')
sans vérifier qu'il est déjà ajouté, vous pourriez générer une longue liste en sys.path
. Pour cela, je recommande ceci :
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
Vous ne définissez pas PYTHONPATH
, vous ajoutez des entrées à sys.path
. Il s'agit d'une liste de répertoires dans lesquels rechercher des packages Python. Vous pouvez donc simplement ajouter vos répertoires à cette liste.
sys.path.append('/path/to/whatever')
En fait, sys.path
est initialisé en divisant la valeur de PYTHONPATH
sur le caractère séparateur de chemin (:
sur les systèmes de type Linux, ;
sous Windows).
Vous pouvez également ajouter des répertoires en utilisant site.addsitedir
, et cette méthode prendra également en compte .pth
fichiers existant dans les répertoires que vous passez. (Ce ne serait pas le cas avec les répertoires que vous spécifiez dans PYTHONPATH
.)
PYTHONPATH se retrouve dans sys.path, que vous pouvez modifier au moment de l'exécution.
import sys
sys.path += ["whatever"]