6 votes

Python - Faut-il commencer un nouveau projet directement dans Python 3.x ?

Quelle version de Python pouvez-vous recommander pour un projet à long terme (plusieurs années) ? Doit-on utiliser la 2.6+ ou la 3.x est déjà stable ? (seules les bibliothèques standard sont nécessaires)

MISE À JOUR : selon les réponses ci-dessous, Python 3.x présente toujours des bogues critiques. Veuillez également consulter La liste des bogues de Python .

12voto

moose Points 4945

C'est pourquoi vous devez utiliser Python 3.x :

Python 2.x :

>>>True = False
>>>True
False

Python 3.x :

>>> True = False
  File "<stdin>", line 1
SyntaxError: assignment to keyword

Fuente: Caractéristique linguistique la plus étrange

Préjugé : Mais tant de paquets ne sont pas encore prêts pour Python 3

Ceci est (a) faux ( source ) et (b) ne sont pas importants pour un débutant.

4voto

Skilldrick Points 33002

Il n'y a rien de mal avec Python 3, mais de nombreuses bibliothèques n'ont pas encore été portées. Par exemple, de FAQ PyGame :

Le support de Python 3 est incomplet et toujours en phase de développement.

Et de NumPy :

Le support de Python 3 est prévu, mais pas encore programmé.

Tout dépend de l'importance des bibliothèques tierces pour vous et de leur portage éventuel.

4voto

Chris Dail Points 11406

Je pense que cela se résume à la mesure dans laquelle vous pouvez contrôler l'environnement dans lequel votre application sera exécutée. Si vous produisez un logiciel dans lequel votre client "installera" python pour exécuter votre logiciel, vous pouvez tout aussi bien utiliser la dernière version (Python 3.x). Si vous ciblez des installations python existantes, il est préférable de choisir la compatibilité 2.5 ou 2.6, car elles sont plus répandues.

Python 3.x est stable. Ce n'est pas le problème. Le problème est la compatibilité. Si vous avez la possibilité d'utiliser la dernière et la meilleure version, vous devez utiliser la nouvelle version. Pour les nouveaux projets, la version 3.x est le choix le plus évident.

4voto

Jochen Ritzel Points 42916

La bonne chose avec Python3 est que il existe un moyen automatique de porter vos programmes de Python2. Mais le programme doit répondre à certains critères.

Je pense que la meilleure approche pour le moment est d'écrire du code Python2 et de le tester en mode test Python3 (exécuter python -3 program.py ). De cette façon, vous n'avez pas à vous soucier des bibliothèques manquantes et vous pouvez convertir votre programme en Python3 dès que cela sera nécessaire.

1voto

Pete Points 3535

THC4k mentionne 2to3 et je voulais juste souligner qu'il y a aussi un Paquet 3to2 . Je n'ai jamais utilisé l'une ou l'autre de ces formules, mais j'ai entendu dire que 3to2 était plus tolérant que 2to3.

Edit : je voulais juste souligner ce que d'autres ont suggéré : si vous choisissez d'utiliser l'un de ces convertisseurs pour publier votre logiciel pour la 2.6 ou la 3.0, vous voudrez probablement avoir un système de test solide en place (unittest, doctest, etc) avec une couverture de test décente pour dormir tranquillement la nuit !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X