Python Installation unter Win11

Probleme bei der Installation?
Antworten
Stephan12
User
Beiträge: 24
Registriert: Mittwoch 29. Januar 2014, 14:52

Ich habe eine Virtual Box mit Win11 pro als Guest, Host ist WIn11 Home.
Im Guest habe ich Probleme mit der Pythoninstallation.
Python Version: 3.12.6
Ich habe ein Admin-Konto und ein Benutzerkonto im Guest.
Wenn ich im Adminkonto Python installiere läuft alles problemlos.
Wenn ich im Benutzerkonto Python installiere, wird installiert und die Pfadvariable korrekt angelegt.
Via cmd kann ich mir dann auch die Python Version anzeigen lassen, aber keine Pythonmodule wie pip ansprechen.
pip eingegeben im cmd-Fenster bringt eine Fehlermeldung.

Wenn ich Python im Adminkonto installiere, kann ich die Bibliotheken ganz normal ansprechen.
Der Befehl pip im cmd-Fenster bringt dann keine Fehlermeldung.

Das Benutzerkonto hat die Standardbenutzerrechte. Installiert wurde Python unter Appdata und dem Benutzer.
Wo liegt das Problem und wie kann man das lösen?
Benutzeravatar
grubenfox
User
Beiträge: 601
Registriert: Freitag 2. Dezember 2022, 15:49

Code: Alles auswählen

python -m pip
geht nicht bzw. bringt welche (Fehler-)Meldung?
Stephan12
User
Beiträge: 24
Registriert: Mittwoch 29. Januar 2014, 14:52

Syntax Error - invalid Syntax kommt als Fehlermeldung, markiert ist dabei pip.
Stephan12
User
Beiträge: 24
Registriert: Mittwoch 29. Januar 2014, 14:52

Sowas wie print("hallo world") geht aber. Das Problem besteht wie gesagt nur bei dem Nutzerkonto. Das Adminkonto hat das Problem nicht.
Sirius3
User
Beiträge: 18250
Registriert: Sonntag 21. Oktober 2012, 17:20

Du bekommst einen SyntaxError, weil Du versuchst, den Programmaufruf in einer Interaktiven Python-Shell einzugeben.
Gib das "python -m pip" in Windows CMD ein.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1221
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Am besten zuerst alle Python-Interpreter deinstallieren inklusive der systemweiten Installation in "C:\Program Files" und auch die Installierten Python-Interpreter vom MS-Store entfernen. Alle Umgebungsvariablen löschen, die auf einen Pfad zeigen, wo Python installiert sein soll. Das Systemweit sowie die Umgebungsvariablen des angemeldeten Nutzers anpassen.

Ich nutze Windows 11 nur auf der Arbeit. Dort habe ich Python 3.12.6 als User installiert. Das Tool py.exe sollte auch installiert werden und das ist Systemweit. Den Pfad habe ich manuell über die Umgebungsvariablen des aktuellen Benutzers hinzugefügt.

Code: Alles auswählen

%localappdata%\Programs\Python\Python312\Scripts
Nach der Änderung muss die Eingabeaufforderung oder Powershell erneut geöffnet werden, damit die aktualisierten Umgebungsvariablen vom Terminal-Prozess verwendet werden.

Den Python-Interpreter startet man am besten unter Windows mit dem Tool py.exe:

Code: Alles auswählen

py dein_programm.py # nimmt den neusten Interpreter
py -3.12 dein_programm.py # explizit 3.12 verwenden
Wenn du neben Python 3.12.6 z.B. 3.13.0rc2 installierst, sollte der Suchpfad nicht eingetragen werden.
Nur der von Python 3.12.6

Das hat folgenden Hintergrund: Wenn du Python-Module/Pakete installierst, werden ein paar davon auch unter Windows als EXE-Datei kompiliert und können ausgeführt werden (pip.exe, ipython.exe, ptpython.exe usw.). Diese EXE-Dateien findet man im Verzeichnis Scripts der jeweiligen Python-Installation. Wenn nun Module bei der neueren Python-Version installiert sind, aber nicht bei der älteren, so wird die neuere Version des Python-Interpreters verwendet, sofern beide Pfade im Suchpfad eingestellt sind. Das sorgt für Verwirrung.

Die Installation von py.exe kann man auch umgehen, dann muss man aber noch folgenden Pfad eintragen, damit man python im Terminal eingeben kann und der Interpreter gestartet wird:

Code: Alles auswählen

%localappdata%\Programs\Python\Python312
python.exe habe ich unter Windows bis jetzt noch nie direkt gestartet. Ich nutze brav da tool py.exe.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Stephan12
User
Beiträge: 24
Registriert: Mittwoch 29. Januar 2014, 14:52

Ich arbeite ohne zusätzlich installierte Interpreter. Ich habe nur die Python-Standardinstallation gemacht, sonst nichts.
py.exe verwende ich gar nicht. Ich starte später lediglich ein Script mittels Eingabe des Scriptnamens in cmd.

"Du bekommst einen SyntaxError, weil Du versuchst, den Programmaufruf in einer Interaktiven Python-Shell einzugeben.
Gib das "python -m pip" in Windows CMD ein."
Ich habe das in CMD eingegeben. Wie gesagt, auf dem Adminkonto, auf dem ich das Gleiche parallel gemacht habe, funktioniert das ja alles.

"%localappdata%\Programs\Python\Python312\Scripts"
Was bewirkt dieser Befehl? Muss der in cmd als Admin ausgeführt werden oder am Python Installationsort oder ist das egal wo es ausgeführt wird?
Sirius3
User
Beiträge: 18250
Registriert: Sonntag 21. Oktober 2012, 17:20

Stephan12 hat geschrieben: Montag 16. September 2024, 15:29 Ich habe das in CMD eingegeben. Wie gesagt, auf dem Adminkonto, auf dem ich das Gleiche parallel gemacht habe, funktioniert das ja alles.
Wenn ich print in CMD eingebe, kommt bei mir:

Code: Alles auswählen

 C:\>print("hallo world")
Gerät PRN konnte nicht initialisiert werden.
Also hast Du offensichtlich doch einen Python-Interpreter und keine CMD-Shell (Die erkennt man an dem C:)
Benutzeravatar
DeaD_EyE
User
Beiträge: 1221
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Stephan12 hat geschrieben: Montag 16. September 2024, 15:29 "%localappdata%\Programs\Python\Python312\Scripts"
Was bewirkt dieser Befehl? Muss der in cmd als Admin ausgeführt werden oder am Python Installationsort oder ist das egal wo es ausgeführt wird?

Code: Alles auswählen

%localappdata%
ist eine Variable und zeigt auf C:\Users\ANGEMELDETER_BENUTZER\AppData\Local

Ein Benutzer kann unter Windows 10/11 Programme als Benutzer ohne Adminstratorrechte installieren und ein bekannter Ort für die Installation ist in C:\Users\ANGEMELDETER_BENUTZER\AppData\Local\Programs

Falls du bei OneDrive angemeldet bist, werden übrigens die Dateien in C:\Users\ANGEMELDETER_BENUTZER\AppData\Roaming synchronisiert.
Die Variable %appdata% zeigt auf das Roaming-Verzeichnis. Aber dort wird der Python-Interpreter bei einer Benutzer-Installation nicht installiert.


Wie man die Umgebungsvariablen ändern kann: https://bodo-schoenfeld.de/umgebungsvar ... earbeiten/
Wenn du auf Path doppelt klickst, kannst du einem neuen Fenster die einzelnen Einträge bearbeiten ode neue über das letzte Feld hinzufügen. Entweder direkt einfügen (Copy&Paste) oder mittels "durchsuchen" dort hin navigieren.

Oh man.... als Linux-User Windows-Support geben, fühlt ich echt komisch an.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten