PEP 361 – Python 2.6 und 3.0 Releaseplan
- Autor:
- Neal Norwitz, Barry Warsaw
- Status:
- Final
- Typ:
- Informational
- Thema:
- Release
- Erstellt:
- 29-Juni-2006
- Python-Version:
- 2.6, 3.0
- Post-History:
- 17-März-2008
Zusammenfassung
Dieses Dokument beschreibt den Entwicklungs- und Releaseplan für Python 2.6 und 3.0. Der Plan befasst sich hauptsächlich mit PEP-großen Elementen. Kleine Features können bis einschließlich der ersten Beta-Version hinzugefügt werden. Fehler können bis zum endgültigen Release behoben werden.
Es wird mindestens zwei Alpha-Releases, zwei Beta-Releases und einen Release Candidate geben. Die Releases sind für Oktober 2008 geplant.
Python 2.6 ist nicht nur die nächste Weiterentwicklung der Python 2-Serie, sondern auch ein Übergangs-Release, das Entwicklern hilft, ihre Codebasis für Python 3.0 vorzubereiten. Daher werden viele Features von Python 3.0 nach 2.6 zurückportiert. Es macht also Sinn, beide Versionen gleichzeitig zu veröffentlichen. Der Präzedenzfall dafür wurde mit dem Release von Python 1.6 und 2.0 gesetzt.
Bis zum RC werden wir Python 2.6 und 3.0 im Gleichschritt auf einem monatlichen Release-Zyklus veröffentlichen. Die Releases finden am ersten Mittwoch jedes Monats während des Beta-Testzyklus statt. Da Python 2.6 früher fertig ist und wir externe Fristen einhalten möchten, haben wir beschlossen, die RC-Releases aufzuteilen. Daher wird der finale Release von Python 2.6 voraussichtlich zwei Wochen vor dem finalen Release von Python 3.0 erscheinen.
Release Manager und Crew
- 2.6/3.0 Release Manager: Barry Warsaw
- Windows-Installer: Martin v. Loewis
- Mac-Installer: Ronald Oussoren
- Dokumentation: Georg Brandl
- RPMs: Sean Reifschneider
Lebenszyklus der Releases
Python 3.0 wird für keinen Zweck mehr gewartet.
Python 2.6.9 ist der letzte reine Wartungs-Release (nur Sicherheit, nur Quellcode) der Python 2.6-Serie. Mit seiner Veröffentlichung am 29. Oktober 2013 ist die offizielle Unterstützung für Python 2.6 beendet. Python 2.6 wird für keinen Zweck mehr gewartet.
Release Schedule
- 29. Feb. 2008: Python 2.6a1 und 3.0a3 werden veröffentlicht
- 02. Apr. 2008: Python 2.6a2 und 3.0a4 werden veröffentlicht
- 08. Mai 2008: Python 2.6a3 und 3.0a5 werden veröffentlicht
- 18. Juni 2008: Python 2.6b1 und 3.0b1 werden veröffentlicht
- 17. Juli 2008: Python 2.6b2 und 3.0b2 werden veröffentlicht
- 20. Aug. 2008: Python 2.6b3 und 3.0b3 werden veröffentlicht
- 12. Sep. 2008: Python 2.6rc1 wird veröffentlicht
- 17. Sep. 2008: Python 2.6rc2 und 3.0rc1 werden veröffentlicht
- 01. Okt. 2008: Python 2.6 final wird veröffentlicht
- 06. Nov. 2008: Python 3.0rc2 wird veröffentlicht
- 21. Nov. 2008: Python 3.0rc3 wird veröffentlicht
- 03. Dez. 2008: Python 3.0 final wird veröffentlicht
- 04. Dez. 2008: Python 2.6.1 final wird veröffentlicht
- 14. Apr. 2009: Python 2.6.2 final wird veröffentlicht
- 02. Okt. 2009: Python 2.6.3 final wird veröffentlicht
- 25. Okt. 2009: Python 2.6.4 final wird veröffentlicht
- 19. März 2010: Python 2.6.5 final wird veröffentlicht
- 24. Aug. 2010: Python 2.6.6 final wird veröffentlicht
- 03. Juni 2011: Python 2.6.7 final wird veröffentlicht (nur Sicherheit)
- 10. Apr. 2012: Python 2.6.8 final wird veröffentlicht (nur Sicherheit)
- 29. Okt. 2013: Python 2.6.9 final wird veröffentlicht (nur Sicherheit)
Abgeschlossene Features für 3.0
Siehe PEP 3000 und PEP 3100 für Details zum Python 3.0-Projekt.
Abgeschlossene Features für 2.6
PEPs
- PEP 352: Das Auslösen einer String-Exception löst jetzt einen
TypeErroraus. Der Versuch, eine String-Exception abzufangen, löst eineDeprecationWarningaus.BaseException.messagewurde als veraltet markiert. - PEP 358: Das "bytes"-Objekt
- PEP 366: Explizite relative Imports im Hauptmodul
- PEP 370: Verzeichnis "site-packages" pro Benutzer
- PEP 3112: Bytes-Literale in Python 3000
- PEP 3127: Unterstützung und Syntax für Ganzzahl-Literale
- PEP 371: Hinzufügen des multiprocessing-Pakets zur Standardbibliothek
Neue Module in der Standardbibliothek
json- neues verbessertes
turtle-Modul ast
Veraltete Module und Funktionen in der Standardbibliothek
buildtoolscfmfilecommands.getstatus()macostools.touched()md5MimeWritermimifypopen2,os.popen[234]()posixfilesetssha
Aus der Standardbibliothek entfernte Module
gopherlibrgbimgmacfs
Warnungen für in Py3k entfernte Features
- builtins:
apply,callable,coerce,dict.has_key,execfile,reduce,reload - Backticks und
<> - Float-Argumente für
xrange coerceund alle seine Freunde- Vergleich nach Standardvergleich
{}.has_key()file.xreadlines- Entfernung von softspace für die
print()-Funktion - Entfernung von Modulen aufgrund von PEP 4/PEP 3100/PEP 3108
Weitere wichtige Features
with/aswerden Schlüsselwörter sein- eine spezielle Methode
__dir__()zur Steuerung vondir()wurde hinzugefügt [1] - Unterstützung für AtheOS eingestellt.
warnings-Modul in C implementiertcompile()nimmt einen AST und kann Bytecode konvertieren
Mögliche Features für 2.6
Neue Features *sollten* vor Alpha 2 implementiert werden, insbesondere alle C-Änderungen oder Verhaltensänderungen. Neue Features *müssen* vor Beta 1 implementiert werden, andernfalls ist die Zustimmung des Release Managers erforderlich.
Die folgenden PEPs werden für die Aufnahme in 2.6 bearbeitet: Keine.
Jedes nicht-triviale hier aufgeführte Feature, das keine PEP ist, muss auf python-dev diskutiert werden. Weitere Erweiterungen umfassen
- Ersatz für
distutils(erfordert eine PEP)
Neue Module in der Standardbibliothek
winerrorhttps://bugs.python.org/issue1505257 (Patch abgelehnt, Modul sollte in C geschrieben werden)- BDFL-Ankündigung für
setuptoolszur Aufnahme in 2.5: https://mail.python.org/pipermail/python-dev/2006-April/063964.html
Rückzug von PJE aus 2.5 zur Aufnahme in 2.6: https://mail.python.org/pipermail/python-dev/2006-April/064145.html
Module, die eine DeprecationWarning erhalten (wie für Python 2.6 spezifiziert oder durch Fahrlässigkeit)
rfc822mimetoolsmultifile- Das Paket
compiler(oder stattdessen eine Py3K-Warnung?) - Konvertierung von
Parser/*.czur Verwendung des C-warnings-Moduls anstelle vonprintf - Hinzufügen von Warnungen für entfernte Py3k-Features
__getslice__/__setslice__/__delslice__- Float-Argumente für
PyArgs_ParseTuple __cmp__?- andere Vergleichsänderungen?
- Ganzzahl-Division?
- Alle
PendingDeprecationWarnings(z.B. Exceptions) - Verwendung des
zip()-Ergebnisses als Liste - Die
exec-Anweisung (verwende Funktionssyntax) - Funktionsattribute, die mit
func_*beginnen (sollten__*__verwenden) - Das Suffix
Lfür Long-Literale - Umbenennung von
__nonzero__in__bool__ - Mehrfachvererbung mit klassischen Klassen? (MRO könnte sich ändern)
- Properties und klassische Klassen? (Instanzattribute überschatten Property)
- Verwende die Methode
__bool__, falls verfügbar und keine__nonzero__vorhanden ist - Überprüfen Sie die verschiedenen Code-Teile in
Demo/undTools/auf ihre Funktionsfähigkeit, aktualisieren oder entfernen Sie die, die nicht mehr funktionieren. - Alle Module in
Modules/sollten aufssize_t-Sauberkeit aktualisiert werden. - Python (einschließlich
Modules/) sollte fehlerfrei mit g++ kompilieren - Beginnen Sie mit dem Entfernen veralteter Features und der allgemeinen Annäherung an Py3k
- Ersetzen Sie alle alten Testarten (die auf Import basieren) durch
unittestoderdocttest - Fügen Sie Tests für alle ungetesteten Module hinzu
- Dokumentieren Sie undokumentierte Module/Features
bdist_debim Paketdistutilshttps://mail.python.org/pipermail/python-dev/2006-February/060926.htmlbdist_eggim Paketdistutils- reines Python
pgen-Modul (Besitzer: Guido) Verschiebung auf 2.6: https://mail.python.org/pipermail/python-dev/2006-April/064528.html - Entfernen des
fpectl-Moduls?
Aufgeschoben bis 2.7
Keine
Offene Themen
Wie sollen Import-Warnungen behandelt werden?
Referenzen
Urheberrecht
Dieses Dokument wurde gemeinfrei erklärt.
Quelle: https://github.com/python/peps/blob/main/peps/pep-0361.rst
Zuletzt geändert: 2025-02-01 08:59:27 GMT