Ich hatte eine Datei mit dem Namen example_file.py
, die ich aus verschiedenen anderen Dateien verwenden wollte, so dass ich hinzufügen entschieden example_file.py
zu sys.path
und importieren Sie diese Datei in einer anderen Datei , um die Datei zu verwenden. Zu diesem Zweck habe ich in IPython Folgendes ausgeführt.
import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)
Ich konnte den Pfad sehen, den ich gerade hinzugefügt hatte, und als ich versuchte, diese Datei aus einem anderen Verzeichnispfad wie diesem zu importieren:
import example_file
Es funktionierte einwandfrei, aber als ich aus IPython herauskam, es erneut sys.path
eingab und das überprüfte , stellte ich fest, dass der von mir hinzugefügte Pfad nicht vorhanden war. Wie füge ich also in Python dauerhaft einen Pfad zu sys.path hinzu?
sys.path.append()
ein Verzeichnis akzeptiert wird, das eine Datei und keinen einzigen Pfad zu einer Datei enthält.PYTHONPATH
.Antworten:
Es gibt einige Möglichkeiten. Eine der einfachsten Möglichkeiten besteht darin, eine
my-paths.pth
Datei zu erstellen (wie hier beschrieben ). Dies ist nur eine Datei mit der Erweiterung.pth
, die Sie in Ihr Systemverzeichnis gestellt habensite-packages
. In jede Zeile der Datei geben Sie einen Verzeichnisnamen ein, damit Sie dort eine Zeile einfügen können,/path/to/the/
und dieses Verzeichnis wird dem Pfad hinzugefügt.Sie können auch die Umgebungsvariable PYTHONPATH verwenden, die der Systemvariablen PATH ähnelt, jedoch Verzeichnisse enthält, die hinzugefügt werden
sys.path
. Siehe die Dokumentation .Beachten Sie, dass , egal was Sie tun,
sys.path
enthält Verzeichnisse keine Dateien. Sie können keine Datei hinzufügensys.path
. Sie fügen immer das Verzeichnis hinzu und können dann die Datei importieren.quelle
site
Paket war perfekt.sys.path.append('C:\\python34\\lib\\site-packages')
Danke behoben !.pth
Datei wird in der Site-Modul-Dokumentation als a bezeichnetpath configuration file
. Bemerkenswert über die Pfadkonfigurationsdatei:no check is made that the item refers to a directory rather than a file. No item is added to sys.path more than once. Blank lines and lines beginning with # are skipped. Lines starting with import (followed by space or tab) are executed.
Dieser Weg hat bei mir funktioniert:
Hinzufügen des gewünschten Pfads:
Überprüfen: Sie können 'export' cmd ausführen und die Ausgabe überprüfen oder Sie können es mit diesem cmd überprüfen:
quelle