Richten Sie Python unter Windows so ein, dass „python“ nicht in cmd eingegeben wird

Lesezeit: 5 Minuten

Richten Sie Python unter Windows so ein dass „python nicht
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/…

    – Gryphius

    13. Juli 12 um 14:49 Uhr

Richten Sie Python unter Windows so ein dass „python nicht
selllikesybok

C:> assoc .py=Python
C:> ftype Python="C:python27python.exe %1 %*"

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.

    – selllikesybok

    13. Juli 12 um 15:10 Uhr

  • Das war es! Danke. Dasselbe habe ich gerade hier entdeckt: docs.python.org/faq/…

    – orschiro

    13. Juli 12 um 15:16 Uhr

  • 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):

#! /usr/bin/python2.7 -i
import sys
print(sys.version)
  • myscript.py: läuft mit pystartet python2.7 und wechselt nach Abschluss in den interaktiven Modus (-igroßartige Option zum Testen und Debuggen).
  • myscript.py -3: läuft mit pystartet python3 und behält den interaktiven Modus bei.
  • python myscript.py: läuft mit Standard-Python-Laufzeit, kein interaktiver Modus.

Sie können diese Standardzuordnung mit ändern ftypeaber ich würde dringend empfehlen:

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

1642772167 504 Richten Sie Python unter Windows so ein dass „python nicht
Camille G.

Ich hatte auch das gleiche Problem … Ich konnte es beheben, indem ich *.py-Dateien mit dem Python-Launcher neu verknüpfte.

  1. Klicken Sie mit der rechten Maustaste auf eine *.py-Datei und öffnen Sie ihre Eigenschaften.
  2. Klicken Sie auf die Schaltfläche „Ändern“ im Bereich „Öffnet mit…“.
  3. Wählen Sie Weitere Apps -> Auf diesem PC nach einer anderen App suchen.
  4. Navigieren Sie dann zu Ihrem Windows-Ordner (standardmäßig: “C:Windows”)
  5. 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.

    – phipi

    18. Juni 21 um 7:42 Uhr

Ich habe es versucht mit:

C:> assoc .py=Python
C:> ftype Python="C:toolspythonpython.exe %1 %*"

Es hat bei mir nicht funktioniert. Also habe ich eine ftype-Suche durchgeführt:

ftype | find "Python"
Python="c:toolspythonpython.exe" %1 %*
Python.ArchiveFile="C:Windowspy.exe" "%L" %*
Python.NoConArchiveFile="C:Windowspyw.exe" "%L" %*

Mein Problem wurde mit einem etwas anderen ftype-Befehl gelöst:

ftype Python="c:toolspythonpython.exe" "%L" %*

.

576450cookie-checkRichten Sie Python unter Windows so ein, dass „python“ nicht in cmd eingegeben wird

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy