Wie finde ich heraus, welche Verzeichnisse in der PYTHONPATH
Variablen meines Systems in einem Python-Skript (oder der interaktiven Shell) aufgeführt sind?
python
python-module
pythonpath
Paul D. Waite
quelle
quelle
PYTHONPATH
. Verwenden Siesys.path
dafür.sys.path
ist "Eine Liste von Zeichenfolgen, die den Suchpfad für Module angeben" - docs.python.org/2/library/sys.html#sys.path . PYTHONPATH ist eine Umgebungsvariable, die diese Liste beeinflusst. Nach jeder vernünftigen Definitionsys.path
ist Ihr "Python-Pfad".python -m site
.Antworten:
sys.path
kann Elemente enthalten, die nicht speziell in IhrerPYTHONPATH
Umgebungsvariablen enthalten sind. Verwenden Sie zum direkten Abfragen der Variablen Folgendes:quelle
sys.path
.Das möchten Sie wahrscheinlich auch:
Oder als Einzeiler vom Terminal:
Vorsichtsmaßnahme : Wenn Sie mehrere Versionen von Python installiert haben, sollten Sie einen entsprechenden Befehl
python2
oder verwendenpython3
.quelle
python -c "import sys; print('\n'.join(sys.path))"
Die andere Antwort kann anscheinend nicht bearbeitet werden. Hat einen kleinen Fehler darin, dass es nur Windows ist. Die allgemeinere Lösung besteht darin, os.sep wie folgt zu verwenden:
sys.path kann Elemente enthalten, die nicht speziell in Ihrer PYTHONPATH-Umgebungsvariablen enthalten sind. Verwenden Sie zum direkten Abfragen der Variablen Folgendes:
quelle
os.sep
Gibt das Verzeichnistrennzeichen für das Betriebssystem zurück, z/
. Das im Python-Pfad verwendete Trennzeichen ist unterschiedlich und wird von zurückgegeben,os.pathsep
wie in der akzeptierten Antwort gezeigt.PYTHONPATH ist eine Umgebungsvariable, deren Wert eine Liste von Verzeichnissen ist. Einmal festgelegt, wird es von Python verwendet, um nach importierten Modulen zu suchen, zusammen mit anderen Standardmodulen. und Bibliotheksverzeichnisse von Drittanbietern, die in Pythons "sys.path" aufgeführt sind.
Wie alle anderen Umgebungsvariablen können Sie sie entweder in der Shell oder in ~ / .bashrc exportieren (siehe hier) . Sie können os.environ ['PYTHONPATH'] nach seinem Wert in Python abfragen, wie unten gezeigt:
IF in Shell definiert als
DANN Ergebnis =>
ELSE Ergebnis =>
Informationen zum Einstellen von PYTHONPATH auf mehrere Pfade finden Sie hier .
Beachten Sie, dass Sie einen Suchpfad zur Laufzeit über sys.path.insert (), del oder remove () hinzufügen oder löschen können, jedoch NICHT über os.environ []. Beispiel:
Zusammenfassend ist PYTHONPATH eine Möglichkeit, die Python-Suchpfade für importierte Module in sys.path anzugeben. Sie können Listenoperationen auch ohne Hilfe von PYTHONPATH direkt auf sys.path anwenden.
quelle
Python sagt mir, wo es lebt, wenn es mir eine Fehlermeldung gibt :)
quelle
Benutze das:
Oder eine Zeile vom cmd:
quelle