Vorschlag zur Entfernung in Python 3.16¶
Das Importsystem
Das Setzen von
__loader__für ein Modul, während gleichzeitig__spec__.loadernicht gesetzt wird, ist veraltet. In Python 3.16 wird__loader__vom Importsystem und der Standardbibliothek weder gesetzt noch berücksichtigt.
-
Der Formatcode
'u'(wchar_t) ist seit Python 3.3 in der Dokumentation und seit Python 3.13 zur Laufzeit veraltet. Verwenden Sie stattdessen den Formatcode'w'(Py_UCS4) für Unicode-Zeichen.
-
asyncio.iscoroutinefunction()ist veraltet und wird in Python 3.16 entfernt; verwenden Sie stattdesseninspect.iscoroutinefunction(). (Beigetragen von Jiahao Li und Kumar Aditya in gh-122875.)Das Richtliniensystem von
asyncioist veraltet und wird in Python 3.16 entfernt. Insbesondere sind die folgenden Klassen und Funktionen veraltet:Benutzer sollten
asyncio.run()oderasyncio.Runnermit loop_factory verwenden, um die gewünschte Event-Loop-Implementierung zu nutzen.Zum Beispiel, um
asyncio.SelectorEventLoopunter Windows zu verwendenimport asyncio async def main(): ... asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)
(Beigetragen von Kumar Aditya in gh-127949.)
-
Bitweise Inversion auf booleschen Typen,
~Trueoder~False, ist seit Python 3.12 veraltet, da sie überraschende und unintuitive Ergebnisse liefert (-2und-1). Verwenden Sie stattdessennot xfür die logische Negation eines Boole-Wertes. In dem seltenen Fall, dass Sie die bitweise Inversion der zugrunde liegenden Ganzzahl benötigen, konvertieren Sie explizit zuint(~int(x)).
-
Das Aufrufen der Python-Implementierung von
functools.reduce()mit function oder sequence als Schlüsselwortargumente ist seit Python 3.14 veraltet.
-
Die Unterstützung für benutzerdefinierte Logging-Handler mit dem Argument strm ist veraltet und soll in Python 3.16 entfernt werden. Definieren Sie Handler stattdessen mit dem Argument stream. (Beigetragen von Mariusz Felisiak in gh-115032.)
-
Gültige Erweiterungen beginnen mit einem Punkt oder sind leer für
mimetypes.MimeTypes.add_type(). Nicht-punktierte Erweiterungen sind veraltet und lösen in Python 3.16 einenValueErroraus. (Beigetragen von Hugo van Kemenade in gh-75223.)
-
Die Ausnahme
ExecErrorist seit Python 3.14 veraltet. Sie wurde seit Python 3.4 von keiner Funktion inshutilverwendet und ist nun ein Alias fürRuntimeError.
-
Die Methode
Class.get_methodsist seit Python 3.14 veraltet.
sys:Die Funktion
_enablelegacywindowsfsencoding()ist seit Python 3.13 veraltet. Verwenden Sie stattdessen die UmgebungsvariablePYTHONLEGACYWINDOWSFSENCODING.
-
Die Funktion
sysconfig.expand_makefile_vars()ist seit Python 3.14 veraltet. Verwenden Sie stattdessen das Argument vars vonsysconfig.get_paths().
-
Das undokumentierte und ungenutzte Attribut
TarFile.tarfileist seit Python 3.13 veraltet.