Sie können Umgebungsvariablen über os.environ abrufen und setzen :
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Da Ihr Interpreter jedoch bereits läuft, hat dies keine Auswirkungen. Verwenden Sie besser
import sys
sys.path.append("...")
das ist das Array, das Ihr PYTHONPATH hat wird beim Start des Interpreters umgewandelt.
Wenn Sie sys.path.append('dir/to/path') eingeben ohne zu prüfen, ob es bereits hinzugefügt wurde, könnten Sie in sys.path eine lange Liste erstellen . Dafür empfehle ich Folgendes:
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
Sie legen PYTHONPATH nicht fest , fügen Sie Einträge zu sys.path hinzu . Es ist eine Liste von Verzeichnissen, die nach Python-Paketen durchsucht werden sollten, also können Sie einfach Ihre Verzeichnisse an diese Liste anhängen.
sys.path.append('/path/to/whatever')
Genau genommen sys.path wird initialisiert, indem der Wert von PYTHONPATH geteilt wird auf das Pfadtrennzeichen (: auf Linux-ähnlichen Systemen ; unter Windows).
Sie können Verzeichnisse auch mit site.addsitedir hinzufügen , und diese Methode berücksichtigt auch .pth Dateien, die in den übergebenen Verzeichnissen vorhanden sind. (Das wäre bei Verzeichnissen, die Sie in PYTHONPATH angeben, nicht der Fall .)
PYTHONPATH landet in sys.path, den Sie zur Laufzeit ändern können.
import sys
sys.path += ["whatever"]