Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python Enhancement Proposals

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

Inhaltsverzeichnis

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 TypeError aus. Der Versuch, eine String-Exception abzufangen, löst eine DeprecationWarning aus. BaseException.message wurde 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

  • buildtools
  • cfmfile
  • commands.getstatus()
  • macostools.touched()
  • md5
  • MimeWriter
  • mimify
  • popen2, os.popen[234]()
  • posixfile
  • sets
  • sha

Aus der Standardbibliothek entfernte Module

  • gopherlib
  • rgbimg
  • macfs

Warnungen für in Py3k entfernte Features

  • builtins: apply, callable, coerce, dict.has_key, execfile, reduce, reload
  • Backticks und <>
  • Float-Argumente für xrange
  • coerce und 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/as werden Schlüsselwörter sein
  • eine spezielle Methode __dir__() zur Steuerung von dir() wurde hinzugefügt [1]
  • Unterstützung für AtheOS eingestellt.
  • warnings-Modul in C implementiert
  • compile() 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

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)

  • rfc822
  • mimetools
  • multifile
  • Das Paket compiler (oder stattdessen eine Py3K-Warnung?)
  • Konvertierung von Parser/*.c zur Verwendung des C-warnings-Moduls anstelle von printf
  • 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 L fü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/ und Tools/ auf ihre Funktionsfähigkeit, aktualisieren oder entfernen Sie die, die nicht mehr funktionieren.
  • Alle Module in Modules/ sollten auf ssize_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 unittest oder docttest
  • Fügen Sie Tests für alle ungetesteten Module hinzu
  • Dokumentieren Sie undokumentierte Module/Features
  • bdist_deb im Paket distutils https://mail.python.org/pipermail/python-dev/2006-February/060926.html
  • bdist_egg im Paket distutils
  • 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


Quelle: https://github.com/python/peps/blob/main/peps/pep-0361.rst

Zuletzt geändert: 2025-02-01 08:59:27 GMT