Python 3.12.0rc2
Release-Datum: 6. Sept. 2023
Dies ist der zweite Release Candidate von Python 3.12.0
Diese Veröffentlichung, 3.12.0rc2, ist die letzte Vorschau-Veröffentlichung für Python 3.12.
Von nun an wird es in der 3.12-Serie keine ABI-Änderungen mehr geben. Die Absicht ist, dass die endgültige Veröffentlichung von 3.12.0, die für Montag, den 2.10.2023, geplant ist, mit diesem Release Candidate identisch sein wird. Dies ist die letzte Chance, kritische Probleme in Python 3.12 zu finden.
Aufruf zum Handeln
Wir fordern die Maintainer von Python-Drittanbieterprojekten dringend auf, ihre Projekte während dieser Phase auf Python 3.12-Kompatibilität vorzubereiten und gegebenenfalls Python 3.12-Wheels auf PyPI zu veröffentlichen, um für die endgültige Veröffentlichung von 3.12.0 bereit zu sein. Alle binären Wheels, die gegen Python 3.12.0rc2 erstellt wurden, funktionieren mit zukünftigen Versionen von Python 3.12. Wie immer melden Sie bitte alle Probleme an den Python-Bug-Tracker.
Bitte beachten Sie, dass dies eine Vorschau-Veröffentlichung ist und, obwohl sie so nah wie möglich an der endgültigen Veröffentlichung ist, ihre Verwendung für Produktionsumgebungen nicht empfohlen wird.
Core-Entwickler: Zeit, sich jetzt der Dokumentation zu widmen
- Sind alle Ihre Änderungen ordnungsgemäß dokumentiert?
- Werden sie in What's New erwähnt?
- Haben Sie andere Änderungen bemerkt, von denen Sie wissen, dass sie unzureichend dokumentiert sind?
Hauptneuerungen der Serie 3.12 im Vergleich zu 3.11
Neue Funktionen
- Flexiblere f-String-Analyse, die vieles erlaubt, was zuvor nicht zulässig war (PEP 701).
- Unterstützung für das Buffer-Protokoll in Python-Code (PEP 688).
- Eine neue API für Debugging/Profiling (PEP 669).
- Unterstützung für isolierte Sub-Interpreter mit separaten Global Interpreter Locks (PEP 684).
- Noch verbesserte Fehlermeldungen. Mehr Ausnahmen, die potenziell durch Tippfehler verursacht werden, machen dem Benutzer nun Vorschläge.
- Unterstützung für den Linux
perfProfiler zur Meldung von Python-Funktionsnamen in Spuren. - Viele große und kleine Leistungsverbesserungen (wie PEP 709), die eine geschätzte Gesamtdurchsatzsteigerung von 5 %Nachweis erforderlich liefern.
Typ-Annotationen
- Neue Typ-Annotations-Syntax für generische Klassen (PEP 695).
- Neuer
override-Decorator für Methoden (PEP 698).
Veraltete Funktionen
- Die veralteten Member
wstrundwstr_lengthder C-Implementierung von Unicode-Objekten wurden entfernt, gemäß PEP 623. - Im Modul
unittestwurden eine Reihe von lange veralteten Methoden und Klassen entfernt. (Sie waren seit Python 3.1 oder 3.2 veraltet.) - Die veralteten Module
smtpdunddistutilswurden entfernt (siehe PEP 594 und PEP 632. Das Paketsetuptoolsstellt weiterhin das Moduldistutilsbereit. - Eine Reihe weiterer alter, fehlerhafter und veralteter Funktionen, Klassen und Methoden wurden entfernt.
- Ungültige Backslash-Escape-Sequenzen in Zeichenketten warnen nun mit
SyntaxWarninganstelle vonDeprecationWarning, wodurch sie besser sichtbar werden. (Sie werden in Zukunft zu Syntaxfehlern.) - Die interne Darstellung von ganzen Zahlen wurde zur Vorbereitung auf Leistungsverbesserungen geändert. (Dies sollte die meisten Benutzer nicht beeinträchtigen, da es sich um ein internes Detail handelt, es kann jedoch Probleme für von Cython generierten Code verursachen.)
(Hallo, lieber Core-Entwickler, falls ein für Sie wichtiges Feature in dieser Liste fehlt, informieren Sie Thomas.)
Weitere Details zu den Änderungen in Python 3.12 finden Sie unter What's new in Python 3.12. Die nächste geplante Veröffentlichung von Python 3.12 wird 3.12.0, die endgültige Veröffentlichung, die derzeit für den 02.10.2023 geplant ist.
Weitere Ressourcen
- Online-Dokumentation.
- PEP 693, der Zeitplan für die Veröffentlichung von Python 3.12.
- Melden Sie Fehler über GitHub Issues.
- Helfen Sie mit, Python und seine Community zu finanzieren.
Dateien
| Version | Betriebssystem | Beschreibung | MD5 Summe | Dateigröße | Sigstore | GPG | |
|---|---|---|---|---|---|---|---|
| Gzip-komprimiertes Quell-Tarball | Quellcode-Veröffentlichung | 970d493c3e918282d964d5b54dfa9733 | 25.9 MB | .sigstore | SIG | ||
| XZ-komprimierter Quell-Tarball | Quellcode-Veröffentlichung | c6da177d411956a24f15988e22dcfdb8 | 19,6 MB | .sigstore | SIG | ||
| macOS 64-Bit Universal2-Installer | macOS | für macOS 10.9 und neuer | 0536788192c01e1c0a056394a02a19c9 | 43,2 MB | .sigstore | SIG | |
| Windows-Installer (64-Bit) | Windows | Empfohlen | ea1993b5227fa4c8f45a06f5fbdd23b3 | 25,3 MB | .sigstore | SIG | |
| Windows-Installer (32-Bit) | Windows | c7bfbde3b07a7bd013043640ca475b8c | 24,0 MB | .sigstore | SIG | ||
| Windows-Installer (ARM64) | Windows | Experimentell | c5ea6e3fbbdf15a93919b756a755b026 | 24,5 MB | .sigstore | SIG | |
| Windows einbettbares Paket (64-Bit) | Windows | 10208bc768a0dd6f042e3c6d6a8c0ca2 | 10.5 MB | .sigstore | SIG | ||
| Windows einbettbares Paket (32-Bit) | Windows | 5d63a5ee6fd3bb7e39ee6449114b51fd | 9.4 MB | .sigstore | SIG | ||
| Windows einbettbares Paket (ARM64) | Windows | af596badf2e0144831bacf7d3bb6988f | 9.8 MB | .sigstore | SIG | ||
