Ich verwende Windows PowerShell. Nehmen wir an, ich habe ein Skript namens test.py
, das einige Dinge ausgibt. Wenn ich mache:
PS D:\>.\test.py
dann öffnet es ein CMD-Fenster, das einige Dinge druckt und dann schließt. Tatsächlich läuft der Python-Interpreter unter CMD. Wenn ich mache
PS D:\>python test.py
Es verhält sich so, wie ich es erwartet hätte, und die Ausgabe wird in PowerShell angezeigt.
Wie kann ich dafür sorgen, dass das Skript in PowerShell ausgeführt wird, wenn ich nur seinen Namen gebe?
windows
powershell
jcrawfordor
quelle
quelle
PATHEXT
Variable mit der unten angegebenen Antwort von zdan aktualisiert haben und Python-Skripte in einem Verzeichnis ablegen, das von IhrerPATH
Umgebungsvariablen benannt wird, müssen Sie keinen vollständig qualifizierten (oder relativen) Pfad mehr angeben, um sie auszuführen. Dann verhalten sich Python-Skripte wie jedes andere installierte Programm, und Sie können sie in Pipelines mit anderen Programmen / Cmdlets ( z. B.get-clipboard | myscript.py
) und all diesen anderen Funktionen zusammenfügen.:)
Antworten:
Bearbeiten Sie die Umgebungsvariable PATHEXT und fügen Sie die Erweiterung .py hinzu.
Fügen Sie einfach diese Zeile zu Ihrem PowerShell-Profil hinzu :
oder Sie können PATHEXT einfach global in den Systemeinstellungen bearbeiten (suchen Sie einfach im Startmenü nach "Umgebung" und wählen Sie die Option "Umgebungsvariablen für Ihr Konto bearbeiten").
quelle
Möglicherweise ist mehr als eine Version von Python installiert, und die von IDLE verwendete Version ist neuer. Um zu sehen, welche Version von Python Sie haben, können Sie> python -V in eine Befehlszeile eingeben. Wenn diese Version geeignet erscheint, benötigen Sie möglicherweise den vollständigen Pfad zur Datei als zweiten Parameter. ZB> Python C: \ myfile.py.
Wenn Sie Python korrekt installiert haben, besteht immer die Möglichkeit, dass es mit Python ausgeführt wird, wenn Sie nur den Namen des Skripts eingeben. ZB> myfile.py
Ich finde immer, dass das Hinzufügen von C: \ Python27 zur% PATH% -Variable und .PY zur% PATHEXT% -Variable das Ausführen von Skripten erleichtert. In diesem Fall sollte nur> myfile funktionieren.
Nach dem Update bearbeiten:
Wenn Sie nur> python ohne Parameter eingeben, wird Python im interaktiven Modus geöffnet, der sich vom Stapel- oder Skriptmodus unterscheidet, für den Ihr Skript vorgesehen ist. Bei Ausführung mit Argumenten wird das erste Argument als Dateipfad verwendet und weitere Argumente an das Skript in der Liste sys.argv übergeben.
quelle