Hallo,
hat jemand zufällig Win 11 + Python 3.13.3, installiert via Microsoft Store, laufen?
Wenn ja: wenn man Python 3.13.3. via Terminal (oder Powershell) startet, könnt ihr im REPL die Zeichen { [ ] } eintippen? [ funktioniert bei mir bei jeden 3-4 Tastendruck, die Zeichen ] { } gar nicht - es erscheint nichts. Am Tastaturlayout (deutsche QWERTZ Tastatur) liegt es nicht, weil z.B. äöü korrekt angezeigt werden.
In allen anderem Programmen und im Terminal / Powershell an sich werden die Zeichen auch angezeigt, wenn ich tippe. Und unter 3.12.10 auch werden beim entsprechenden Tastendruck { [ ] } ebenfalls korrekt angezeigt. Scheint also ein Problem mit 3.13.3 zu sein...?
Gruß, noisefloor
Python 3.13.3 unter Win: kein {[]} Zeichen
- noisefloor
- User
- Beiträge: 4144
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Kann ich bestätigen. Bin mit Win 11 Pro unterwegs.
Unter Python 3.13.2 haben die Tasten noch normal funktioniert. Für [ brauche ich nun 2 Tastendrucke und die anderen genannten Zeichen werden in der Python-Shell gar nicht mehr angezeigt. Das Problem besteht unter cmd.exe als auch in der PowerShell.
Unter Python 3.13.2 haben die Tasten noch normal funktioniert. Für [ brauche ich nun 2 Tastendrucke und die anderen genannten Zeichen werden in der Python-Shell gar nicht mehr angezeigt. Das Problem besteht unter cmd.exe als auch in der PowerShell.
Python 3.13 hat eine neue in Python implementierte REPL: https://docs.python.org/3/whatsnew/3.13 ... nterpreter Das wäre mein erster Ansatz, um das zu debuggen. Zweiter Ansatz wäre, nicht das Python aus dem Microsoft-Store zu nehmen, das ist gerne mal kaputt.
Funktioniert es mit `PYTHON_BASIC_REPL=1`?
Funktioniert es mit `PYTHON_BASIC_REPL=1`?
Dann klappt es wieder. Setze ich den Wert auf einen leeren String (``set PYTHON_BASIC_REPL=``) tritt das Problem erneut auf.
Das dürfte somit definitiv am REPL liegen.
Da scheint die Erkennung von curses bzw. dessen Nichtvorhandensein unter Windows wohl nicht ganz ausgereift zu sein.If this variable is set to any value, the interpreter will not attempt to load the Python-based REPL that requires curses and readline, and will instead use the traditional parser-based REPL.
OK, die scheinen irgendwie den Support unter Windows nachträglich eingebaut zu haben, wenn man sich die Commits dazu ein bisschen näher anschaut.
Jedenfalls macht offenbar alles in Kombination mit Alt Gr die Probleme unter Windows. Tilde, Pipe und andere Zeichen gehen mit dem neuen REPL nämlich ebenso wenig bei mir.
Ist ja ganz toll, wenn so etwas in einem Bugfix-Release auftritt, denn Version 3.13.2 hatte das Problem noch nicht.
Jedenfalls macht offenbar alles in Kombination mit Alt Gr die Probleme unter Windows. Tilde, Pipe und andere Zeichen gehen mit dem neuen REPL nämlich ebenso wenig bei mir.
Ist ja ganz toll, wenn so etwas in einem Bugfix-Release auftritt, denn Version 3.13.2 hatte das Problem noch nicht.
- noisefloor
- User
- Beiträge: 4144
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Danke für die Rückmeldung. Konnte das Problem auf einem anderen Laptop gerade auch nachstellen.
Es gibt dazu auch schon eine Bugreport (gestern erstellt): https://github.com/python/cpython/issues/132439.
Gruß, noisefloor
Es gibt dazu auch schon eine Bugreport (gestern erstellt): https://github.com/python/cpython/issues/132439.
Gruß, noisefloor
Sehr gut, ich hatte auch schon kurz danach gesucht, aber auf die Schnelle nichts gefunden.noisefloor hat geschrieben: ↑Sonntag 13. April 2025, 19:56 Es gibt dazu auch schon eine Bugreport (gestern erstellt): https://github.com/python/cpython/issues/132439.
Das Problem tritt übrigens nicht nur beim Windows Store auf, sondern auch wenn man sich das Release bei python.org zieht. Ich hatte die Version aus dem Store deinstalliert und dann von der offiziellen Website installiert - ohne Verbesserung.
- DeaD_EyE
- User
- Beiträge: 1201
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Mit Powershell:
Die Zeichen [] kann ich eingeben, aber {} funktioniert nicht.
Nachdem ich dann readline gelöscht habe (irgendeine Abhängigkeit), kommt die Meldung nicht mehr, aber {} kann ich dann immer noch nicht eingeben.
Da ich immer ipython/ptpython verwende, ist mir das bis jetzt noch nicht aufgefallen. Dort kann man die Zeichen wie gewohnt eingeben.
Code: Alles auswählen
PS C:\Users\Bianca> py
Python 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Failed calling sys.__interactivehook__
Traceback (most recent call last):
File "<frozen site>", line 535, in register_readline
AttributeError: module 'readline' has no attribute 'backend'
>>>
Die Zeichen [] kann ich eingeben, aber {} funktioniert nicht.
Nachdem ich dann readline gelöscht habe (irgendeine Abhängigkeit), kommt die Meldung nicht mehr, aber {} kann ich dann immer noch nicht eingeben.
Da ich immer ipython/ptpython verwende, ist mir das bis jetzt noch nicht aufgefallen. Dort kann man die Zeichen wie gewohnt eingeben.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Wenn man erst AltGr + 8 drückt, dann kann man eine andere AltGr-Kombination mit dem gewünschten Ergebnis ausführen. Steht so in einem Kommentar des hier verlinkten Bugreports und funktioniert auch. Somit weiß ich nun auch, warum zweimal Drücken für die öffnende eckige Klammer funktioniert hat, denn das ist ja AltGr + 8, AltGr + 8.