Welche Python Versionen unterstützen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Welche Python Versionen sollte man eigentlich unterstützten?

Spontan würde ich sagen, am besten die Versionen, die noch in den gängigen Linux Distributionen vorhanden sind und/oder die, die noch aktuell gewartet werden. Doch welche sind das?

Auf http://python.org/download/releases/ sieht es so aus als wenn das v2.5-v2.7 und v3.1 und v3.2 wären...

Einen Überblick über die Python Versionen in Linux gibt es hier: http://stackoverflow.com/questions/3666 ... -of-python (Allerdings von Sep.2010)

Kennt jemand einen aktuellen Überblick?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

@jens: Die aktuellen Versionen der Desktop-Distributionen – Fedora, OpenSuse, Mandravia, Debian, Ubuntu – enthalten alle mindestens CPython 2.6, weit verbreitete Server-Distributionen wie RHEL 5 dagegen noch 2.4. Allgemein lässt sich diese Frage daher nicht beantworten. Welche Python-Versionen und -Implementierungen berücksichtigt werden müssen, hängt vielmehr stark von der Art des Projekts ab.

Ich beschränkte mich in meinen eigenen, freien Projekten auf 2.6. Das ist meines Erachtens für die meisten Projekte – ausgenommen Webanwendungen und Server-Dienste – ein tragbarer Kompromiss aus Verbreitung und Qualität der Sprache. Allerdings entwickele ich diese Projekte – obwohl veröffentlicht – noch immer hauptsächlich für meinen eigenen Bedarf, und kann es mir mithin leisten, meine Nutzer falls nötig zu ignorieren :)

Bei anderen Projekten ist dagegen meist von außen mehr oder weniger vorgegeben, welche Versionen zu unterstützen sind.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

sehe ich ähnlich wie lunar - am besten an den noch unterstützten gängigen, freien Linux-Distros orientieren. Bzw. eigentlich reicht Debian Old Stable, weil die normalerweise die ältesten Pakete an Bord haben. ;-)

Ob man RHEL berücksichtigt hängt wohl von der Zielgruppe ob. Zu Hause hat hat das wohl kaum einer, im Enterprise Einsatz ist es bestimmt noch öfter zu finden.

Gruß, noisefloor
BlackJack

Eventuell könnten noch alternative Python-Implementierungen interessant sein. Ich denke da ist Jython mit 2.5 momentan am "ältesten".
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Für Web Anwendungen würde ich zu 2.5 raten, ansonsten sollte 2.6 völlig reichen.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Allgemein lässt sich das IMHO nicht beantworten. Entscheidend ist entweder, welche Python-Version für eigene Projekte am besten und bequemsten ist oder welche Python-Version die meisten Nutzer haben werden. Ich würde generell empfehlen, immer die neuste zu nehmen und ansonsten auf die Klagen der Nutzer zu hören und denen dann anbieten, dass sie die älteren Versionen pflegen dürfen, wenn sie diese haben wollen. Ziel sollte sein, dass Leute für deine Software, weil sie so gut und unentbehrlich ist, bereit sind, ihre (veraltete) Python-Version zu aktualisieren und nicht, dass du dich mit deiner Software anpassen muss, damit du Nutzer bekommst. Schreibe eine Killer-App und sie werden kommen. Dann ist die Python-Version nebensächlich :)

Stefan
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

lunar hat geschrieben:weit verbreitete Server-Distributionen wie RHEL 5 dagegen noch 2.4.
Echt? Python 2.4 wird aber offiziell nicht mehr mit Sicherheitsupdate versorgt oder nicht? Kümmert sich redhat selbst drum?

Also konkret geht es mir gerade um python-creole. Ist zwar nicht direkt eine Web-Anwendung, dürfte aber meist in einer solchen eingesetzt werden.

Dank dem Shining Panda Dienst teste ich es automatisiert z.Z. mit CPython 2.6, 2.7, 3.2 und PyPy v1.6, siehe: https://jenkins.shiningpanda.com/python ... All/builds
Und die neue v0.9.1 von python-creole läuft nun auch mit all diesen Varianten.

Python 2.5 dürfte aber leider nicht ohne größeren Aufwand funktionieren, weil ich __future__ imports (print_function, unicode_literals) verwende, die es erst ab 2.6 gibt, also müßte ich doch 2to3 nehmen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

@jens: Natürlich kümmert sich RedHat selbst darum. Es ist ja gerade Kennzeichen einer Enterprise-Distribution, dass der Distributor sich selbst um Korrekturen kümmert, und sich nicht ausschließlich auf den Upstream verlässt, wie es bei Fedora, OpenSuse, Arch und anderen einfachen Distributionen der Fall ist.
Antworten