Frage

Wenn ich ein Open-Source-Projekt mit Python starten würde, welche Version sollte ich verwenden, um sicherzustellen, dass die überwiegende Mehrheit der Benutzer es auf ihrem System verwenden kann?

Ich bin jemand, der schnell zur nächsten Version springt (was ich tun werde, wenn Python 3 herauskommt), aber viele Leute sind möglicherweise konservativer, wenn ihre aktuelle Version scheinbar gut funktioniert.Welche Version würde genau das Richtige für mich sein, mir aber trotzdem erlauben, die neuesten und coolsten Sprachverbesserungen zu genießen?

War es hilfreich?

Lösung

Da sich Python in einer Art Übergangsphase zu Python 3 befindet und die Abwärtskompatibilität beeinträchtigt ist, halte ich es nicht für eine gute Idee, nur auf Python 3 umzusteigen.Basierend auf Zeitleiste Nach 2.6/3.0 im Oktober wird es mindestens ein oder zwei Folgeveröffentlichungen der 2.x-Serie geben.

Abgesehen davon, dass Python 3 nicht auf Ihren Zielplattformen verfügbar ist, wird es einige Zeit dauern, bis wichtige externe Python-Bibliotheken portiert und auf Python 3 nutzbar sind.

Matthew schlägt also vor, bei 2,4/2,5 zu bleiben und das beizubehalten Übergang Der Plan, Python 3 im Hinterkopf zu haben, ist eine gute Wahl.

Andere Tipps

Ich habe seit einiger Zeit kein System mehr gesehen, auf dem weniger als 2.3 installiert war.Meistens ist 2.4+ standardmäßig für die meisten Betriebssysteme installiert, die ich jetzt verwende.2.3 läuft nur auf einem älteren Solaris-Rechner.Linux-Distributionen verfügen in der Regel über Version 2.4+, ebenso wie OS X.

IIRC, 2.4 verfügt über viele der Funktionen von 2.5, kann jedoch nur mit verwendet werden

from __future__ import *

Sie können auf jedem Computer unterschiedliche Python-Versionen verwenden.

Wenn ich etwas Neues programmiere, würde ich nicht weniger als Python2.5 verwenden.Du kannst tun apt-get install python2.5 auf Lager Debian Stable.

Machen Sie sich bei Windows keine großen Sorgen.Es ist sehr einfach, die Python2.5-MSI zu installieren.

Wenn die Benutzer dazu keine Lust haben, können Sie eine ausführbare Datei mit py2exe bereitstellen (so einfach) und mit Inno Setup ein Installationsprogramm erstellen (wieder einfach), dann verhält es sich wie eine Standard-Windows-Anwendung und verwendet seine eigenen Python-DLLs , also muss Python nicht installiert sein.

Wie Peter sagte:Denken Sie an den Übergang zu 3.0, aber bauen Sie noch nicht darauf auf.

Python 2.3 oder 2.2, wenn Sie ohne die vielen hinzugefügten Module (z. B.datetime, csv, logging, optparse, zipimport) verwenden kein SSL und sind bereit, Boilerplate für True/False hinzuzufügen.

2.4 Dekoratoren hinzugefügt.Generatorausdrücke, reversed(), sorted() sowie die Unterprozess- und Dezimalmodule.Obwohl diese alle nett sind, ist es einfach, Pythonic-Code ohne sie zu schreiben (vorausgesetzt, Ihr Projekt würde sie nicht intensiv nutzen).

2.5 hinzugefügt mit relativen Importen, besserer 64-Bit-Unterstützung und ziemlich viel Geschwindigkeit.Auf all das könnte man problemlos verzichten.

2.6 ist noch nicht veröffentlicht (obwohl es sehr nah dran ist), daher ist es zwar für Entwickler interessant, verfügt aber nicht über die gewünschte Kompatibilität.

Schauen Sie sich die Versionshinweise für 2.3, 2.4, 2.5 und das kommende 2.6 an (verwenden Sie http://www.python.org/download/releases/2.Y/highlights/ wobei „Y“ die Nebenversion ist).

FWIW, für SpamBayes unterstützen wir 2.2 und höher (2.2 erfordert die separate Installation des E-Mail-Pakets).Das ist nicht übermäßig anstrengend, aber die Ergänzungen zu 2.3 sind nützlich genug und 2.3 alt genug, dass wir 2.2 wahrscheinlich bald fallen lassen werden.

Wenn das Projekt Mainstream sein und unter Linux ausgeführt werden soll nur Eine vernünftige Wahl ist 2.4 – nur weil es mühsam ist, irgendetwas anderes als Standard auf Enterprise-Linux-Systemen zu installieren.

Auf jeden Fall jeder modern Das Betriebssystem wird/kann 2.4 oder neuer haben.

Du solltest benutzen Python 2.7, die letzte Hauptversion von Python 2.

Python 3.x bietet derzeit nur begrenzte Unterstützung für Bibliotheken von Drittanbietern und wird häufig nicht standardmäßig installiert.Sie sehen sich also die 2.x-Serie an.

Python 2.7 ist im Wesentlichen vollständig abwärtskompatibel mit früheren Versionen 2.xs.Darüber hinaus können veraltete Warnungen zu Dingen ausgegeben werden, die in Python 3 nicht funktionieren.(Insbesondere wird es sich lohnen, Unit-Tests beizubehalten und in Bezug auf Unicode- vs.Byte-Strings.) Die Warnungen zwingen Sie dazu, guten Code zu schreiben, der automatisiert wird 2to3 Das Tool kann in Python 3 übersetzen.

Guido van Rossum empfiehlt offiziell die Beibehaltung einer einzigen Python 2-Codebasis, und die Verwendung von 2to3 zusammen mit Unit-Tests, um kompatible Versionen für Python 2 und 3 zu erstellen.(Seit PEP 3000 geschrieben wurde, wurde Python 2.6 durch 2.7 ersetzt.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top