El día 24 de febrero de 2010 11:51, Muammar El Khatib
<[email protected]> escribió:
> 2010/2/24 Jesús Francisco <[email protected]>:
>> En el mundo Unix desde hace mucho tiempo que se usa Python para muchas
>> cosas. En particular existen muchos scripts desarrollados en Python
>> que son parte integral de algunos sistemas.
>>
>> Para aquellos que usan Python 3.1 en un entorno Unix, es probable que
>> se vean forzados a no instalarlo como el Python principal, debido a el
>> software de terceros que asume que el Python instalado en uno de los
>> Python 2.x. Por ejemplo, en ubuntu, se debe usar el nombre python31
>> para ejecutar el intérprete de Python 3.1.
>>
>
> Esto es correcto.
>
>> En estos momentos estoy escribiendo un par de scripts en Python 3.1,
>> pero por razones que el cruel destino no me explica, estoy haciendolo
>> en una máquina Windows. Aquí me di cuenta que este dilema no es
>> relevante: python no es nadie en Windows, y por ende hacer que python
>> sea Python 3.1 y no el 2.6 no causa mayores problemas.
>>
>> Pero en el último script que hice en ubuntu tuve que escribir la
>> siguiente cabecera:
>>
>> #!/usr/bin/env python31
>>
>> Ahora, la pregunta ¿terminará Python 3.1 llamandose python31 para
>> siempre?¿es incorrecto lo que hice?¿cómo debería resolver esto?
>
> Soy mantenedor de paquetes en Debian y te explicaré un poco al
> respecto. /usr/bin/python es un enlace simbólico que apunta a
> python2.5 (en el caso de Debian Testing).
>
> clau...@ccv:~$ ls -alF /usr/bin/python
> lrwxrwxrwx 1 root root 9 Jan 30 13:23 /usr/bin/python -> python2.5*
>
>
> Por tanto, si tu código es independiente de la versión de python en
> sistema, con utilizar '#!/usr/bin/env python' tienes, si necesitas
> alguna versión específica es preferible que utilices la forma que
> describiste arriba, es decir, especificando la versión: #!/usr/bin/env
> python3.1 (creo que te faltó el punto).

Bueno, no. Y he aquí una alerta a un inminente desastre: ubuntu:
python31, debian:python3.1

Lo que he averiguado hasta ahorita es que lo mejor sería usar desde
ahora en adelante:

#!/usr/bin/python3

o

#!/usr/bin/python2

Hasta que Python3 sea el estandar definitivo. Para ese entonces, todos
los scripts que ya se habían escrito como:

#!/usr/bin/python3

seguirán funcionando como Python3, y los nuevos scripts que digan:

#!/usr/bin/python

Funcionarán también como Python3. En ese entonces, los scripts en
python2 deberían actualizarse así:

#!/usr/bin/python2

>
> Para saber un poco más de los enlaces simbólicos o alternatives en
> sistemas basados en Debian, lee e manual de update-alternatives(8). Tu
> siempre puedes cambiar a dónde apuntan estos enlaces simbólicos en el
> sistema.
>
> Saludos,
> --
> Muammar El Khatib.
> Linux user: 403107.
> GPG Key = 127029F1
> http://muammar.me | http://proyectociencia.org
>  ,''`.
>  : :' :
>  `. `'
>   `-
> _______________________________________________
> GUPy mailing list
> [email protected]
> http://proyectociencia.org/cgi-bin/mailman/listinfo/gupy
>
_______________________________________________
GUPy mailing list
[email protected]
http://proyectociencia.org/cgi-bin/mailman/listinfo/gupy

Responder a