Python 3.12.0rc3
Erscheinungsdatum: 19. Sept. 2023
Dies ist die dritte Release Candidate von Python 3.12.0
Diese Version, 3.12.0rc3, ist die absolut letzte Release-Vorschau für Python 3.12.
Es wird von nun an in der 3.12-Serie keine ABI-Änderungen mehr geben. Die Absicht ist, dass die finale Version von 3.12.0, die für Montag, den 2.10.2023 geplant ist, mit dieser Release Candidate identisch sein wird. Dies ist wirklich die letzte Chance, kritische Probleme in Python 3.12 zu finden.
Aufruf zum Handeln
Wir ermutigen die Betreuer von Drittanbieter-Python-Projekten dringend, ihre Projekte während dieser Phase auf Kompatibilität mit Python 3.12 vorzubereiten und gegebenenfalls Python 3.12 Wheels auf PyPI zu veröffentlichen, um für die finale Version von 3.12.0 bereit zu sein. Alle Binär-Wheels, die gegen Python 3.12.0rc3 kompiliert wurden, funktionieren mit zukünftigen Versionen von Python 3.12. Melden Sie wie immer alle Probleme an den Python-Bugtracker.
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 und Unterstützung für den BOLT-Binary-Optimizer) liefern eine geschätzte allgemeine Leistungsverbesserung von 5 %Beleg erforderlich.
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 Was ist neu in Python 3.12. Die nächste geplante Veröffentlichung von Python 3.12 wird 3.12.0, die finale Version, sein, 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 | 052797f64d8bd6354b294aad146c5cb3 | 25.9 MB | .sigstore | SIG | ||
| XZ-komprimierter Quell-Tarball | Quellcode-Veröffentlichung | cead7d4428e88e8de9219731c21edb74 | 19,6 MB | .sigstore | SIG | ||
| macOS 64-Bit Universal2-Installer | macOS | für macOS 10.9 und neuer | 9424c5ef7af30422f060cb8e2c3c31eb | 43,3 MB | .sigstore | SIG | |
| Windows-Installer (64-Bit) | Windows | Empfohlen | 176f3ea892c06b739097307a00f73cb6 | 25,3 MB | .sigstore | SIG | |
| Windows-Installer (32-Bit) | Windows | 680cfd8f909b867e520ceb4ae5674db6 | 24,0 MB | .sigstore | SIG | ||
| Windows-Installer (ARM64) | Windows | Experimentell | b6b36b14564e15ddea1f95fe58d9f468 | 24,6 MB | .sigstore | SIG | |
| Windows einbettbares Paket (64-Bit) | Windows | de54c188e182fb09cbf2395ee414bd30 | 10.5 MB | .sigstore | SIG | ||
| Windows einbettbares Paket (32-Bit) | Windows | b6ed11598c929af946a110ca4db0d95c | 9.4 MB | .sigstore | SIG | ||
| Windows einbettbares Paket (ARM64) | Windows | 728cbbfd0d5fc485233e1aba7884a773 | 9.8 MB | .sigstore | SIG | ||
