Python 3.13.3 unter Win: kein {[]} Zeichen

Probleme bei der Installation?
Antworten
Benutzeravatar
noisefloor
User
Beiträge: 4144
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
Benutzeravatar
snafu
User
Beiträge: 6816
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
narpfel
User
Beiträge: 688
Registriert: Freitag 20. Oktober 2017, 16:10

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`?
Benutzeravatar
snafu
User
Beiträge: 6816
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

narpfel hat geschrieben: Sonntag 13. April 2025, 17:16 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.
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.
Da scheint die Erkennung von curses bzw. dessen Nichtvorhandensein unter Windows wohl nicht ganz ausgereift zu sein.
Benutzeravatar
snafu
User
Beiträge: 6816
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
narpfel
User
Beiträge: 688
Registriert: Freitag 20. Oktober 2017, 16:10

snafu hat geschrieben: Sonntag 13. April 2025, 18:00 Ist ja ganz toll, wenn so etwas in einem Bugfix-Release auftritt, denn Version 3.13.2 hatte das Problem noch nicht.
Dann kann man das ja gut bisecten. :wink:
Benutzeravatar
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
Benutzeravatar
snafu
User
Beiträge: 6816
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Sehr gut, ich hatte auch schon kurz danach gesucht, aber auf die Schnelle nichts gefunden.

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.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1201
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Mit Powershell:

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
Benutzeravatar
snafu
User
Beiträge: 6816
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Antworten