[BulletProof] Preaviso: Descarga de Python 2.2

Jesus Cea Avion jcea at argo.es
Fri Jan 25 18:12:00 CET 2002


> ¿Por que utilizas características del 2.2... o pq Python no respeta
> compatibilidad con versiones anteriores?

Python se puede distribuir de dos maneras: fuentes y binarios. Los
fuentes son compatibles entre versiones. Cuando se introducen cambios,
se hacen dos "releases" de Python. En el primer "release", lo que ya no
sirve sigue funcionando, pero te muestra un aviso diciendo algo así como
"función XXXX obsoleta en línea tal del fichero cual". Pero el programa
sigue funcionando. En la siguiente release, meses más tarde, las
funciones obsoletas ya no existen.

Has tenido todo un release (6-9 meses) para actualizar código :-). Y,
además, el "release" intermedio te va avisando de las cosas que han
cambiado.

Los binarios no suelen ser compatibles entre versiones de Python.
BulletProof se distribuye como binario, así que requiere una versión
Python específica.

Podía continuar con la versión 2.1 de Python y obviar las
actualizaciones, pero soy un "early adopter" de las nuevas versiones de
Python, ya que me interesa detectar cualquier problema cuanto antes. De
hecho detecté un problema en el 2.2 al par de horas de tenerlo en
producción, como se indica en
http://sourceforge.net/tracker/index.php?func=detail&aid=498915&group_id=5470&atid=105470

Además, sí, voy reescribiendo código para utilizar las funcionalidades
nuevas, como aprendizaje propio también.

> ¿que pasa si, ademas de BulletProof, tengo otros
> programas que necesitan Python 2.1? ¿Se instalan las dos versiones
> en paralelo? ¿Basta con dejar algunas bibliotecas?

Hay dos posibilidades. La primera es que cada aplicación tenga su propio
intérprete Python, a medida. Probablemente distribuya así la versión
final de BP. El intérprete en tu propio directorio, como una DLL.

No lo hago ahora porque así las actualizaciones BulletProof miden 17
Kbytes, y no 700 Kbytes :-). Además, ello me obligaría a publicar
versiones para Windows, Linux, Solaris, etc.

La segunda opción es tener instalado varios intérpretes a nivel de
sistema. Windows asignará la extensión "*.py" a uno de ellos
(típicamente, el más recientemente instalado).

Si tienes un programa que requiere una versión Python antigua instalada,
lo más sencillo es crear un acceso directo, y especificar el PATH del
intérprete para ese programa concreto.

En UNIX es más sencillo, ya que el propio script Python indica el PATH
de su intérprete, si lo deseas :-). O lanzas el intérprete que quieres
desde la línea de comandos. Ventajas :-)

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz



More information about the BulletProof mailing list