Richten Sie Python unter Windows so ein, dass „python“ nicht in cmd eingegeben wird
Lesezeit: 5 Minuten
orschiro
Wie muss ich konfigurieren, damit ich nicht tippen muss python script.py aber einfach script.py in CMD unter Windows?
Ich habe mein Python-Verzeichnis zu %PATH% hinzugefügt, das python.exe enthält, aber Skripte werden immer noch nicht korrekt ausgeführt.
Ich habe es mit django-admin.py Running versucht django-admin.py startproject mysite gibt mir
Type 'django-admin.py help <subcommand>' for help on a specific subcommand. Die Verwendung von Python davor verarbeitet den Befehl korrekt.
Was ist hier das Problem?
mögliches Duplikat von stackoverflow.com/questions/4235834/…
Oder was auch immer der relevante Pfad ist – Sie können auch Befehlszeilenargumente mit ftype festlegen.
Damit ein Befehl erkannt wird, ohne das Suffix (.py), ähnlich wie es für funktioniert .exe Dateien hinzufügen .py zur semikolon-separierten Liste der (globalen) PATHEXT Variable.
ETA 2017-07-27
Scheint so, als würde dies immer noch Aufmerksamkeit erregen, wollte einen nützlichen Kommentar für Win10-Benutzer hervorheben (von @shadowrunner):
Damit es unter Win10 funktioniert, war der eigentliche Befehl (beachten Sie die Platzierung der Anführungszeichen):
C:> ftype Python="c:Anaconda2python.exe" "%1" %*
ETA 2019-02-01
Sprechen Sie über Evergreen!
Zunächst einmal, wenn Sie Python neu installieren, empfehle ich dringend, die Antwort von @NunoAndré zu lesen.
Zweitens, um etwas aus einem kürzlichen Kommentar klarzustellen, beachten Sie bitte: Sie müssen beide Teile machen (assoc und ftype), oder verwenden Sie eine bereits vorhandene Zuordnungsbezeichnung in der ftype Befehl.
Standardmäßig, zumindest für Python 3.7 unter Windows 8.1, ist die Assoziation für .py ist Python.Filealso die Durchführung der ftype Befehl, den ich oben geschrieben habe, wird nicht richtig funktionieren, es sei denn, die Zuordnung wird zuerst geändert. Oder Sie können einfach verwenden ftype und geben Sie stattdessen die Standardassoziation an. Wie du willst.
Ich danke dir sehr! Ich wusste nie davon assoc oder ftype gestern.
– Noctis-Skytower
13. Juli 12 um 15:04 Uhr
Ich auch nicht. 🙂 Aber ich brauchte noch eine positive Bewertung für Kommentarprivilegien, also ging ich zu den Windows-Dokumenten.
Damit es unter Win10 funktioniert, war der eigentliche Befehl (beachten Sie die Platzierung der Anführungszeichen): C:> ftype Python="c:Anaconda2python.exe" "%1" %*
– Shadowrunner
19. Februar 16 um 22:10 Uhr
1) Ich kann direkt eine .py-Datei aus der cmd-Zeile ausführen (ohne explizite Verwendung von python.exe), auch wenn .py nicht zu den Assoziationen gehört. (Ich weiß nicht, wie das gemacht wird.) Das einzige Problem ist, dass ich keine Argumente verwenden kann! 2) Die oben angegebene Lösung – die ich ausprobiert habe – hat nichts geändert. 3) Was meinen Sie mit “Sie können auch Befehlszeilenargumente mit ftype festlegen”? Wie? Beispiel? (Das frage ich mich wirklich, da Argumente dynamisch sind, während ‘ftype’ eine statische Sache ist.
– Apostolos
1. Mai 18 um 16:21 Uhr
Ab Python 3.3 a Launcher für Windows ist enthalten: py (und pyw für GUI- oder Nicht-UI-Anwendungen)
Dies hilft beim Auffinden und Ausführen verschiedener Python-Versionen. Es ermöglicht Skripten (oder der Befehlszeile), eine Präferenz für eine bestimmte Python-Version anzugeben und diese Version zu lokalisieren und auszuführen.
Im Gegensatz zur PATH-Variablen wählt der Launcher die am besten geeignete Python-Version korrekt aus. Es wird Installationen pro Benutzer gegenüber systemweiten bevorzugen und nach Sprachversion bestellen, anstatt die zuletzt installierte Version zu verwenden.
Das Python-Installationsprogramm verknüpft die Dateierweiterungen von Python mit open verb standardmäßig, sodass Sie eine Python-Datei ausführen können, indem Sie einfach ihren Namen (und gegebenenfalls Argumente) eingeben.
Achtung: Beachten Sie die Unterschiede zwischen python.exe und pythonw.exe
Neben anderen Vorteilen liest der Windows-Launcher ‘nix shebangs, sodass Sie die Python-Version oder angeben können python.exe‘S Kommandozeilenargumente
Sie können dies mit diesem Skript überprüfen (unter der Annahme, dass py3 als Standard gilt):
Sie können leicht andere Verben (wie edit, test, debug…) zu diesen Dateien.
Darüber hinaus können Sie die Python-Erweiterungen weglassen, um eine Datei in einem Terminal auszuführen, indem Sie sie zu hinzufügen PATHEXT Umgebungsvariable nach Präferenz geordnet. (Sie müssen das Terminal erneut öffnen, damit die Änderung wirksam wird).
setx PATHEXT %PATHEXT%;.PYC;.PYZ;.PY
Ich habe ein Problem unter Windows 10, bei dem das Ausführen von myscript.py in einem Terminal dazu führt, dass VS Code geöffnet wird!. Wie setze ich das zurück?
– verbannt
19. Januar 21 um 11:42 Uhr
Camille G.
Ich hatte auch das gleiche Problem … Ich konnte es beheben, indem ich *.py-Dateien mit dem Python-Launcher neu verknüpfte.
Klicken Sie mit der rechten Maustaste auf eine *.py-Datei und öffnen Sie ihre Eigenschaften.
Klicken Sie auf die Schaltfläche „Ändern“ im Bereich „Öffnet mit…“.
Wählen Sie Weitere Apps -> Auf diesem PC nach einer anderen App suchen.
Navigieren Sie dann zu Ihrem Windows-Ordner (standardmäßig: “C:Windows”)
Wählen Sie „py.exe“
Dieser Ansatz hat gegenüber der akzeptierten Antwort weitere Vorteile: Er berücksichtigt die Shebang-Zeile der Python-Skripte und wählt daher den richtigen Python-Interpreter aus, falls Sie zB virtuelle Umgebungen im Einsatz haben.
mögliches Duplikat von stackoverflow.com/questions/4235834/…
– Gryphius
13. Juli 12 um 14:49 Uhr