Ich möchte rennen:
python somescript.py somecommand
Aber wenn ich das ausführe, muss ich PYTHONPATH
ein bestimmtes Verzeichnis einschließen. Ich kann es nicht einfach zu meinen Umgebungsvariablen hinzufügen, da sich das Verzeichnis, das ich hinzufügen möchte, basierend auf dem von mir ausgeführten Projekt ändert. Gibt es eine Möglichkeit, Änderungen PYTHONPATH
beim Ausführen eines Skripts vorzunehmen? Hinweis: Ich habe nicht einmal eine PYTHONPATH
Variable, daher muss ich mich nicht darum kümmern, sie anzuhängen oder sie während der Ausführung dieses Skripts zu überschreiben.
python
pythonpath
Orokusaki
quelle
quelle
PYTHONPATH=/foo/bar python somescript.py somecommand
python -c"import sys;sys.path.append('/my/dir')"
und dannpython myscript.py mycommand
, aber es teilt offensichtlich nicht den Pfad von der ersten Dolmetschersitzung mit der nächsten. Ah, habe gerade Ihren nächsten Kommentar gesehen und es jetzt versucht ... Hat unter WinXP nicht funktioniert.unset
Windows gibt es keinen Befehl für Umgebungsvariablen. Fügen Sie stattdessen einsetlocal
nach dem Anfangsbuchstaben hinzu,echo off
und dann tritt ein implizitesendlocal
Zeichen auf, wenn das .bat-Skript endet (undPYTHONPATH
auf den vorherigen Wert zurückgesetzt wird).PYTHONPATH
möchten, möchten Sie diesen möglicherweise verwendenset PYTHONPATH=%PYTHONPATH%;%1
.Grundsätzlich ist sys.path eine Liste mit allen Suchpfaden für Python-Module. Es wird vom Interpreter initialisiert. Der Inhalt von PYTHONPATH wird automatisch am Ende dieser Liste hinzugefügt.
quelle
sys.path.append(r'D:\PyCharmProjects\cheese_shoppe')
Beispiel in Windows.Wenn Sie den Befehl beispielsweise über eine POSIX-kompatible Shell ausführen
bash
, können Sie die Umgebungsvariable wie folgt festlegen:Wenn alles in einer Zeile steht, gilt der Umgebungswert PYTHONPATH nur für diesen einen Befehl.
quelle
python -c "import sys; sys.path.insert(0,'my/path'); import mymodule"
funktionierte das Laufen nicht.Sie können dies versuchen, um eine Funktion in Ihrem Skript auszuführen
quelle
Dies ist für Windows:
Zum Beispiel habe ich einen Ordner mit dem Namen "mygrapher" auf meinem Desktop. Im Inneren befinden sich Ordner mit den Namen "Berechnung" und "Grafik", die Python-Dateien enthalten, die meine Hauptdatei "grapherMain.py" benötigt. Außerdem wird "grapherMain.py" in "graphing" gespeichert. Um alles auszuführen, ohne Dateien zu verschieben, kann ich ein Batch-Skript erstellen. Nennen wir diese Batch-Datei "rungraph.bat".
Dieses Skript befindet sich in "mygrapher". Um Dinge auszuführen, würde ich in meine Eingabeaufforderung gelangen und dann Folgendes tun:
quelle