Ich weiß, wie ich es in meinem / etc / profile und in meinen Umgebungsvariablen festlegen kann.
Aber was ist, wenn ich es während eines Skripts einstellen möchte? Ist es Import OS, Sys? Wie mache ich es?
Ich weiß, wie ich es in meinem / etc / profile und in meinen Umgebungsvariablen festlegen kann.
Aber was ist, wenn ich es während eines Skripts einstellen möchte? Ist es Import OS, Sys? Wie mache ich es?
Sie setzen nicht PYTHONPATH
, Sie fügen Einträge hinzu sys.path
. Es ist eine Liste von Verzeichnissen, die nach Python-Paketen durchsucht werden sollten, sodass Sie Ihre Verzeichnisse einfach an diese Liste anhängen können.
sys.path.append('/path/to/whatever')
Tatsächlich wird sys.path
es durch Aufteilen des Werts des Pfadtrennzeichens initialisiert PYTHONPATH
( :
auf Linux-ähnlichen Systemen ;
unter Windows).
Sie können Verzeichnisse auch mit hinzufügen site.addsitedir
, und diese Methode berücksichtigt auch .pth
Dateien, die in den von Ihnen übergebenen Verzeichnissen vorhanden sind. (Dies wäre bei Verzeichnissen, in denen Sie angeben, nicht der Fall PYTHONPATH
.)
sys.path.insert(0, '/path/to/whatever')
.Sie können Umgebungsvariablen abrufen und festlegen über
os.environ
:Da Ihr Interpreter jedoch bereits ausgeführt wird, hat dies keine Auswirkungen. Du bist besser dran
Dies ist das Array,
PYTHONPATH
in das Sie beim Start des Interpreters umgewandelt werden.quelle
Wenn Sie
sys.path.append('dir/to/path')
ohne Prüfung setzen, ist es bereits hinzugefügt, können Sie eine lange Liste in generierensys.path
. Dafür empfehle ich Folgendes:quelle
PYTHONPATH landet in sys.path , das Sie zur Laufzeit ändern können.
quelle
Sie können festlegen
PYTHONPATH
, bisos.environ['PATHPYTHON']=/some/path
, dann müssen Sie aufrufenos.system('python')
, um die Python-Shell neu zu starten, damit der neu hinzugefügte Pfad wirksam wird.quelle
os.system()
"startet die Python-Shell nicht neu", sondern startet eine neue interaktive Python-Instanz. Wenn Sie davon zurückkehren, befinden Sie sich wieder im aufrufenden Skript.Ich Linux das funktioniert auch:
quelle