CMD findet Python nicht

Probleme bei der Installation?
Antworten
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

Ich habe grundsätzlich das Problem das CMD Python nicht findet, wenn ich zb eingebe "Python --Version".
Weiter habe ich das Problem das meine Versionen miteinander vermischt sind, bei den .bat Dateien.

Ich habe Python 310 und 311 unter dem Pfad C... Local\Programs\Python
Unter folgendem Pfad wird Phyton nicht gefunden: CMD unter "C:\User\User>" Python --version = nicht gefunden
Unter den korrekten Pfad würde es gehen C:\User\...\Programs\Pyhton>" Pyhton --version = gefunden
Umgebungsvariablen hinzufügen bringt nichts.

Ich habe wie gesagt Python 310 und 311.
In meiner webui.user.bat steht drin: set PYTHON="C:\Users\User\AppData\Local\Programs\Python\Python311\python.exe"
Wenn ich nur Python 310 habe, erscheint die Meldung: "No Python at '"C:\Users\User\AppData\Local\Programs\Python\Python310\python.exe'"
Wenn ich nur Python 311 habe, erscheint die Meldung: "Already up to date. Couldn't launch python exit code: 3 stderr: Das System kann Pfad nicht finden."

Ich kann also weder Python 310 noch 311 löschen, weil die batch beides braucht.
Nehme ich Python 312 und ändere die Bat auf den richtigen Pfad findet er Python ebenfalls nicht.

Irgendwas stimmt halt nicht und da CMD Python auch nicht findet, liegt es scheinbar nicht nur an der bat.

Da ich mich mit ChatGPT seit zwei Stunden im Kreis drehe und er mir nur noch wie die Telekom empfiehlt den PC neu zu starten habe ich gehofft vielleicht weiß hier ja jemand woran es liegt.
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@soossaas: Was auch immer die ``webui.user.bat`` sein mag, Windows findet EXE-Dateien wenn sie in einem Verzeichnis in der Umgebungsvariable PATH stehen. Da fügt man *eine* Python 3 Installation hinzu und kann dann per ``python`` von überall diese Python-Version starten. Per ``py`` kann man nach entsprechender Konfiguration, die in der Python-Dokumentation beschrieben ist, auch andere Installationen über ``py`` erreichbar machen, so dass unter Windows auch die She-Bang-Zeile so ähnlich funktioniert wie unter Unix-ähnlichen Systemen (Linux, Mac, …). Dann kann man im Quelltext angeben mit welcher Version er ausgeführt werden soll, und immer die *eine* py.exe zum Starten verwenden.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

__blackjack__ hat geschrieben: Donnerstag 31. August 2023, 15:24 @soossaas: Was auch immer die ``webui.user.bat`` sein mag, Windows findet EXE-Dateien wenn sie in einem Verzeichnis in der Umgebungsvariable PATH stehen. Da fügt man *eine* Python 3 Installation hinzu und kann dann per ``python`` von überall diese Python-Version starten. Per ``py`` kann man nach entsprechender Konfiguration, die in der Python-Dokumentation beschrieben ist, auch andere Installationen über ``py`` erreichbar machen, so dass unter Windows auch die She-Bang-Zeile so ähnlich funktioniert wie unter Unix-ähnlichen Systemen (Linux, Mac, …). Dann kann man im Quelltext angeben mit welcher Version er ausgeführt werden soll, und immer die *eine* py.exe zum Starten verwenden.
Also ich habe bei Umgebungsvariablen stehen "C:\Users\User\AppData\Local\Programs\Python\Python311"
Gebe ich aber nun "C:\Users\User>python --version" ein kommt "Python konnte nicht gefunden werden.".
So sollte es aber doch eigentlich nicht sein?!
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@soossaas: Erst mal was heisst „bei Umgebungsvariablen“? Und falls das tatsächlich *Bestandteil* von PATH sein sollte und in dem Verzeichnis eine python.exe liegt, dann wird in den Prozessen wo dieser PATH-Wert existiert die Python-Datei gefunden werden.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

Bei Umgebungsvariablen -> Systemvariablen -> habe ich bei path hinzugefühgt: C:\Users\User\AppData\Local\Programs\Python\Python310\python.exe
Klicke ich auf die Windows taste und öffne cmd steht dort "C:\Users\User>" und gebe ich dann ein python --version , erscheint:
"C:\Users\User>python --version
Python konnte nicht gefunden werden. F³hren Sie die Verknüpfung ohne Argumente aus, um sie über den Microsoft Store zu installieren, oder deaktivieren Sie diese Verknüpfung unter"
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist falsch. PATH enthält eine Liste von Verzeichnissen, in denen deine eingegebenes Kommando gesucht wird. Also nicht - wie du es gemacht hast - ein executable selbst. Es muss also C:\Users\User\AppData\Local\Programs\Python\Python310 sein.
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

Ich habe das jetzt mal in meiner Umgebungsvariable verbessert.
Unabhängig davon kam das Problem das ich nun bei starten von python 310 die Meldung erhalte:
"App kann nicht auf dem PC ausgeführt werden. Wenden sie sich an den Softwareherausgeber um eine geeignete Version für den PC zu finden".

Bei Python 311 kommt das nicht.
Wenn ich aber dort den Pfad kopiere und diesmal korrekt in die Umgebungsvariable PATH schreibe: C:\Users\User\AppData\Local\Programs\Python\Python311
Erscheint bei CMD: " C:\Users\User>python --version " wieder die Meldung das es nicht gefunden wurde.

Zudem ignoriert auch meine Batchdatei Python 311.
Dort steht drin " set PYTHON="C:\Users\User\AppData\Local\Programs\Python\Python311\python.exe "
Starte ich das versucht er aber trotzdem 310 zu starten: "' C:\Users\User\AppData\Local\Programs\Python\Python310\python.exe" launch.py ' "
Was jetzt natürlich nicht mehr geht wenn 310 nicht ausgeführt werden kann.
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

Das Problem mit der batch Datei habe ich mal gelöst, das lag an dem Programm nicht an Windows/Python.
Die anderen Versionen von Python habe ich entfernt, so das nur Python 311 bleibt.
Aber das Problem mit CMD und das er dann python nicht findet kriege ich nicht weg.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Das Problem sollte grundsätzlich sowieso nicht bestehen, wenn du Python über das Microsoft Store installierst (und nicht manuell). Darin stellt die Python Software Foundation verschiedene Version von Python bereit. Man kann so auch mehrere Version konfliktfrei parallel installieren. Und bekommt so auch automatisch Updates, zu Bugfixreleases.

Gruß, noisefloor
soossaas
User
Beiträge: 6
Registriert: Donnerstag 31. August 2023, 14:37

Über den Windows Store installieren löst tatsächlich das CMD Problem.
Danke für alle Antworten!
Antworten