Pregunta

Si fuera a iniciar un proyecto de código abierto usando Python, ¿qué versión debería usar para garantizar que la gran mayoría de los usuarios puedan usarlo en su sistema?

Soy el tipo de persona que salta rápidamente a la siguiente versión (lo que haré cuando salga Python 3), pero muchas personas pueden ser más conservadoras si su versión actual parece funcionar bien.¿Qué versión alcanzaría el punto óptimo pero aún me permitiría disfrutar de las mejoras de idioma más nuevas y geniales?

¿Fue útil?

Solución

Como Python se encuentra en una especie de fase de transición hacia Python 3 con una ruptura de la compatibilidad con versiones anteriores, no creo que sea una buena idea pasar a Python 3 únicamente.Basado en el linea de tiempo Habrá al menos uno o dos lanzamientos siguientes de la serie 2.x después de 2.6/3.0 en octubre.

Además de no tener Python 3 disponible en sus plataformas de destino, pasará algún tiempo hasta que importantes bibliotecas externas de Python se transfieran y puedan utilizarse en Python 3.

Entonces, como Matthew sugiere permanecer en 2,4/2,5 y mantener el transición Tener en mente Python 3 es una opción sólida.

Otros consejos

Hace algún tiempo que no veo un sistema con menos de 2.3 instalado.Mostly 2.4+ está instalado de forma predeterminada para la mayoría de los sistemas operativos que uso ahora.2.3 está solo en una máquina Solaris más antigua.Las distribuciones de Linux tienden a tener 2.4+, al igual que OS X.

IIRC, 2.4 tiene muchas de las características que tiene 2.5, pero solo se puede utilizar con

from __future__ import *

Puede utilizar diferentes versiones de Python en cada máquina.

Al codificar algo nuevo, no usaría nada menos que python2.5.Tu puedes hacer apt-get install python2.5 en stock debian estable.

Para Windows, realmente no te preocupes por eso.Es muy fácil instalar python2.5 msi.

Si los usuarios no pueden molestarse en hacer eso, puede implementar un ejecutable con py2exe (muy simple) y crear un instalador con configuración inno (nuevamente simple), luego se comportará como una aplicación estándar de Windows y usará sus propios archivos DLL de Python. , por lo que no es necesario tener Python instalado.

Como dijo Pedro:Tenga en cuenta la transición a 3.0, pero no la desarrolle todavía.

Python 2.3, o 2.2 si puedes vivir sin los muchos módulos que se agregaron (p. ej.datetime, csv, logging, optparse, zipimport), no utilizan SSL y están dispuestos a agregar texto estándar para Verdadero/Falso.

2.4 decoradores añadidos.expresiones generadoras, invertidas (), ordenadas () y los módulos de subproceso y decimal.Aunque todos estos son buenos, es fácil escribir código Pythonic sin ellos (suponiendo que su proyecto no haga un uso intensivo de ellos).

2.5 agregado con importaciones relativas, mejor soporte de 64 bits y bastante velocidad.Podrías vivir sin todos ellos con bastante facilidad.

2.6 no está lanzado (aunque está muy cerca), por lo que, si bien puede resultar atractivo para los desarrolladores, no tiene la compatibilidad que busca.

Eche un vistazo a las notas de la versión 2.3, 2.4, 2.5 y la próxima versión 2.6 (use http://www.python.org/download/releases/2.Y/highlights/ donde 'Y' es la versión menor).

FWIW, para SpamBayes admitimos 2.2 y superiores (2.2 requiere instalar el paquete de correo electrónico por separado).Esto no es demasiado agotador, pero las adiciones de 2.3 son lo suficientemente útiles y 2.3 lo suficientemente antiguas como para que probablemente eliminemos 2.2 en poco tiempo.

Si el proyecto va a ser convencional y se ejecutará en Linux, solo La elección sensata es 2.4, simplemente porque es complicado instalar cualquier otra cosa de forma predeterminada en Enterprise Linux.

En cualquier caso, cualquier moderno El sistema operativo tendrá/puede tener 2.4 o más reciente.

Deberías usar Pitón 2.7, la versión principal final de Python 2.

Python 3.x actualmente tiene soporte limitado para bibliotecas de terceros y, a menudo, no se instala de forma predeterminada.Entonces estás viendo la serie 2.x.

Python 2.7 es esencialmente totalmente compatible con versiones anteriores de 2.xs.Además, puede dar advertencias de obsolescencia sobre cosas que no funcionarán en Python 3.(En particular, valdrá la pena mantener las pruebas unitarias y ser pedante con respecto a Unicode-vs.cadenas de bytes.) Las advertencias lo obligarán a escribir un buen código que el sistema automatizado 2to3 La herramienta podrá traducir a Python 3.

Guido van Rossum recomienda oficialmente mantener una única base de código Python 2, y usar 2to3 junto con pruebas unitarias para producir versiones compatibles para Python 2 y 3.(Desde que se escribió PEP 3000, Python 2.6 ha sido reemplazado por 2.7).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top