Question

Si je devais commencer un projet open source à l'aide de Python quelle version dois-je utiliser pour vous assurer que la grande majorité des utilisateurs peuvent utiliser sur leur système?

Je suis le genre de personne qui saute rapidement à la prochaine version (que je vais le faire quand Python 3 qui vient de sortir), mais beaucoup de gens peut-être plus conservatrice si leur version actuelle semble fonctionner correctement.Quelle est la version de frapper le sweet spot, mais encore me permettre de profiter le plus récent et le plus cool des améliorations du langage?

Était-ce utile?

La solution

Que python est en quelque sorte une phase de transition vers python 3 à casser la compatibilité descendante, je ne pense pas que c'est une bonne idée d'aller python 3 seulement.Basé sur le ligne de temps il y aura au moins une ou deux versions de la 2.la série x après 2,6/3,0 en octobre.

À côté de ne pas avoir de python 3 disponible sur vos plateformes cibles, il faudra un certain temps jusqu'à ce qu'externe important bibliothèques python va être porté et utilisable sur python 3.

Alors que Matthieu suggère de rester à 2.4/2.5 et de garder la transition plan de python 3 dans l'esprit est un choix solide.

Autres conseils

Je n'ai pas vu un système avec moins de 2.3 installé depuis un certain temps.La plupart de 2,4+ est installé par défaut pour la plupart des OS que j'utilise maintenant.2.3 est juste sur un ancien ordinateur Solaris.Des distributions Linux ont tendance à avoir de 2,4+, comme le fait OS X.

IIRC, 2.4 a beaucoup de fonctionnalités 2.5, mais utilisable seulement avec

from __future__ import *

Vous pouvez utiliser différentes versions de python sur chaque machine.

Codage quelque chose de nouveau, je ne voudrais pas utiliser rien de moins que python2.5.Vous pouvez le faire apt-get install python2.5 sur stock stable de debian.

Pour windows, ne pas vraiment s'en soucier.Il est très facile à installer python2.5 msi.

Si les utilisateurs ne peuvent pas être pris la peine de le faire, vous pouvez déployer un exécutable avec py2exe (donc simple) et de créer un programme d'installation avec inno setup (encore simple), puis il va se comporter comme une norme d'application windows et utilise son propre python dll, donc pas besoin d'avoir installé python.

Comme Pierre a dit:gardez à l'esprit le passage à la version 3.0, mais de ne pas construire sur elle encore.

Python 2.3, 2.2 si vous pouvez vivre sans les nombreux modules qui ont été ajoutés (p. ex.datetime, csv, l'exploitation forestière, optparse, zipimport), ne sont pas à l'aide de SSL et sont prêts à ajouter réutilisable pour de Vrai/Faux.

2.4 ajouté décorateurs.générateur d'expressions, inversé(), triée(), et le sous-processus de décimales et de modules.Bien que ces sont tous sympas, il est facile d'écrire Pythonic code sans eux (en supposant que votre projet ne serait pas de faire un usage intensif de la mer).

2.5 ajouté avec, par rapport importations, un meilleur support 64 bits, et un peu de vitesse.Vous pourriez vivre sans tous ces assez facilement.

2.6 n'est pas sorti (même si c'est très proche), si bien qu'il peut faire appel à des développeurs, il n'a pas la compatibilité, vous êtes après.

Regardez les notes de version pour la 2.3, 2.4, 2.5, et la prochaine 2.6 (utilisation http://www.python.org/download/releases/2.Y/highlights/ où " Y " est la version mineure).

FWIW, pour SpamBayes nous soutenir 2.2 et au-dessus (2.2 nécessite l'installation du logiciel de courriel séparément).Ce n'est pas trop taxer, mais la 2.3 ajouts sont utiles et 2.3 assez vieux que nous allons probablement baisse de 2,2 avant longtemps.

Si le projet va être grand public et sera exécuté sur Linux, la seulement judicieux choix est de 2,4 - juste parce que c'est une douleur pour obtenir quoi que ce soit d'autre installé en tant que par défaut sur l'Entreprise Linuxes.

Dans tous les cas, tout moderne OS/peut 2.4 ou plus récent.

Vous devez utiliser Python 2.7, la dernière version majeure de Python 2.

Python 3.x a actuellement limitée de la 3e partie de la bibliothèque de support, et n'est souvent pas installé par défaut.Si vous êtes à la recherche à la 2.x de la série.

Python 2.7 est essentiellement entièrement rétro-compatible avec les anciens 2.xs.En outre, il peut donner la dépréciation des avertissements à propos de choses qui ne fonctionnent pas en Python 3.(En particulier, il va payer pour maintenir les tests unitaires et d'être pédant sur Unicode - vsoctet-les chaînes de caractères.) Les avertissements va vous forcer à écrire du bon code que le système automatisé de 2to3 l'outil sera capable de traduire à Python 3.

Guido van Rossum officiellement recommande le maintien d'une seule Python 2 code de base, et à l'aide de 2to3 avec les tests unitaires à produire compatible versions de Python 2 et 3.(Depuis PEP 3000 a été écrit, la version 2.6 de Python a été remplacé par 2.7.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top