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
