2010/2/24 Jesús Francisco <[email protected]>:
> 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
>

Vaya. No sabía que ellos camabiaron eso.

> 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
>

Esto debe ser en el caso de Ubuntu específicamente, ya que python2 y
python3 no existen en debian de esa manera:

ccv:/tmp# ls /usr/bin/*python*
/usr/bin/dh_python  /usr/bin/python  /usr/bin/python2.5  /usr/bin/python2.6

> seguirán funcionando como Python3, y los nuevos scripts que digan:
>
> #!/usr/bin/python
>

Claro, porque será por defecto el enlace simbólico a python3.

> Funcionarán también como Python3. En ese entonces, los scripts en
> python2 deberían actualizarse así:
>
> #!/usr/bin/python2
>

Gracias por la información. Si puedes pasar un link con esa
información, te lo agradecería.

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

Responder a