Wie man sys.path in Python vorübergehend ändert?
In einer meiner Test-Skripte in Python nutze ich dieses Muster mehrere Male:
sys.path.insert(0, "somedir")
mod = __import__(mymod)
sys.path.pop(0)
Gibt es einen kürzeren Weg, um vorübergehend ändern Sie den Suchpfad?
InformationsquelleAutor der Frage planetp | 2013-06-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man eine einfache Kontext-manager:
Dann ein Modul importieren, die Sie tun können:
Auf die Ausfahrt aus dem Körper des
with
Anweisungsys.path
wieder in den ursprünglichen Zustand. Wenn Sie nur die module, die innerhalb dieses Blocks könnten Sie auch wollen, löschen Sie die Referenz aussys.Module
:InformationsquelleAutor der Antwort Eugene Yarmash
Hinzufügen eines Werts zu
sys.path
modifiziert diese nur vorübergehend, ich.e nur für diese Sitzung.Permanente änderungen sind erfolgt durch ändern
PYTHONPATH
und die Standard-Installations-Verzeichnis.So, wenn vorübergehende Sie bedeutete für die aktuelle Sitzung nur dann ist dein Ansatz ist okay, aber Sie können entfernen Sie die
pop
Teil, wennsomedir
ist nicht versteckt alle wichtigen Module, die erwartet wird, zu finden inPYTHONPATH
aktuelle Verzeichnis oder den Standard-Installations-Verzeichnis.http://docs.python.org/2/tutorial/modules.html#the-module-search-path
InformationsquelleAutor der Antwort Ashwini Chaudhary