Wann immer ich die sys.path.append
wird das neue Verzeichnis hinzugefügt. Sobald ich jedoch Python schließe, wird die Liste auf die vorherigen (Standard-?) Werte zurückgesetzt. Wie füge ich ein Verzeichnis dauerhaft zu PYTHONPATH
?
Antworten
Zu viele Anzeigen?Hinzufügen von export PYTHONPATH="${PYTHONPATH}:/my/other/path"
in ~/.bashrc funktioniert möglicherweise nicht, wenn PYTHONPATH
gibt es derzeit nicht (wegen der :
).
export PYTHONPATH="/my/other/path1"
export PYTHONPATH="${PYTHONPATH}:/my/other/path2"
Das Hinzufügen der obigen Zeile zu ~/.bashrc hat bei mir unter Ubuntu 16.04 funktioniert
Das folgende Skript funktioniert auf allen Plattformen, da es reines Python ist. Es nutzt die pathlib Path, die hier dokumentiert ist https://docs.python.org/3/library/pathlib.html , damit es plattformübergreifend funktioniert. Sie führen es einmal aus, starten den Kernel neu und das war's. Inspiriert von https://medium.com/@arnaud.bertrand/modifying-python-s-search-path-with-pth-files-2a41a4143574 . Zur Ausführung sind Administratorrechte erforderlich, da Sie einige Systemdateien ändern.
from pathlib import Path
to_add=Path(path_of_directory_to_add)
from sys import path
if str(to_add) not in path:
minLen=999999
for index,directory in enumerate(path):
if 'site-packages' in directory and len(directory)<=minLen:
minLen=len(directory)
stpi=index
pathSitePckgs=Path(path[stpi])
with open(str(pathSitePckgs/'current_machine_paths.pth'),'w') as pth_file:
pth_file.write(str(to_add))
Dies ist eine Aktualisierung dieses Threads, der einige alte Antworten enthält.
Für diejenigen, die MAC-OS Catalina oder eine neuere Version (>= 10.15) verwenden, wurde ein neues Terminal namens zsh
(ein Ersatz für das alte bash
).
Ich hatte aufgrund dieser Änderung einige Probleme mit den obigen Antworten, und ich habe eine Art Workaround gemacht, indem ich die Datei ~/.zshrc
und Einfügen des Dateiverzeichnisses in das Feld $PATH
y $PYTHONPATH
Also habe ich es zuerst getan:
nano ~/.zshrc
Als der Editor geöffnet wurde, fügte ich den folgenden Inhalt ein:
export PATH="${PATH}:/Users/caio.hc.oliveira/Library/Python/3.7/bin"
export PYTHONPATH="${PYTHONPATH}:/Users/caio.hc.oliveira/Library/Python/3.7/bin"
gespeichert und das Terminal neu gestartet.
WICHTIG! Der obige Pfad ist auf den Pfad meines Computers eingestellt, Sie müssen ihn an Ihr Pythonprogramm anpassen.
Das Hinzufügen eines neuen Pfades zu PYTHONPATH erfolgt manuell durch:
Hinzufügen des Pfades zu Ihrem ~/.bashrc-Profil, im Terminal durch:
vim ~/.bashrc
Fügen Sie Folgendes in Ihr Profil ein
export PYTHONPATH="${PYTHONPATH}:/User/johndoe/pythonModule"
dann stellen Sie sicher, dass Sie Ihr bashrc-Profil als Quelle angeben, wenn Sie Ihren Code im Terminal ausführen:
source ~/.bashrc
Ich hoffe, das hilft.