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?Behebung von Python-Pfad-Problemen beim Wechsel von bash zu zsh
Ich hatte Probleme mit Python Path, als ich zu zsh aus der Bash.
Die Lösung war einfach, aber ich habe es übersehen.
Pip hat mir gezeigt, dass die Skripte blah blah
o Paket blah blah
ist installiert in ~/.local/bin
das ist nicht im Pfad .
Nachdem ich einige Lösungen zu dieser Frage gelesen hatte, öffnete ich meine .zshrc
um festzustellen, dass die Lösung bereits existiert.
Ich musste einfach eine Zeile auskommentieren:
Sehen Sie selbst
Ich habe permanent in Windows Vista, Python 3.5
System > Systemsteuerung > Erweiterte Systemeinstellungen > Erweitert (tippen Sie auf) Umgebungsvariablen > Systemvariablen > (wenn Sie PYTHONPATH nicht in der Spalte Variable sehen) (klicken Sie auf) Neu > Variablenname: PYTHONPATH > Variablenwert:
Bitte schreiben Sie das Verzeichnis in den Variablenwert. Es handelt sich um Details aus der Antwort von Blue Peppers.
Ich habe hier eine Lösung gefunden, um dies in einer Anaconda-Umgebung zu tun: https://datacomy.com/python/anaconda/add_folder_to_path/
Einfach:
conda develop /your_path
Inspiriert von andrei-deusteanu Antwort, hier ist meine Version. Damit können Sie eine Reihe von zusätzlichen Pfaden in Ihrem site-packages-Verzeichnis erstellen.
import os
# Add paths here. Then Run this block of code once and restart kernel. Paths should now be set.
paths_of_directories_to_add = [r'C:\GIT\project1', r'C:\GIT\project2', r'C:\GIT\project3']
# Find your site-packages directory
pathSitePckgs = os.path.join(os.path.dirname(os.__file__), 'site-packages')
# Write a .pth file in your site-packages directory
pthFile = os.path.join(pathSitePckgs,'current_machine_paths.pth')
with open(pthFile,'w') as pth_file:
pth_file.write('\n'.join(paths_of_directories_to_add))
print(pthFile)
In Python 3.6.4 können Sie sys.path über Python-Sitzungen hinweg wie folgt beibehalten:
import sys
import os
print(str(sys.path))
dir_path = os.path.dirname(os.path.realpath(__file__))
print(f"current working dir: {dir_path}")
root_dir = dir_path.replace("/util", '', 1)
print(f"root dir: {root_dir}")
sys.path.insert(0, root_dir)
print(str(sys.path))
Ich empfehle Ihnen dringend, virtualenv und virtualenvwrapper zu verwenden, da Sie sonst Ihren Pfad überladen