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"]