Instalé Python2.7 en mi Linux Centos que viene con una instalación predeterminada de Python2.6,
Pitón predeterminado
[root@linuxhost PythonProjects]# python -V Python 2.6.6Python2.7 predeterminado
[root@linuxhost PythonProjects]# python2.7 -V Python 2.7.3Ahora necesito escribir programas basados en la versión python2.7... ¿Cuál sería la línea shebang para python2.7?
Además, ¿cómo compilaré usando python2.7.
Shebang será:
#!/usr/bin/env python2.7No estoy seguro de por qué desea compilar archivos de Python (Python lo hará automáticamente cuando los importe).
Si de verdad quieres:
python2.7 -m compileall .Este comando compilará archivos .py en el directorio actual a .pyc:
No creo que una línea sheebang sola lo haría.
Podrías intentar poner
#! /usr/bin/env python2.7aunque. - Pero lo que realmente sería consistente para usted sería usar entornos virtuales de python a través de virtualenv.
Por favor, consulte http://www.virtualenv.org/en/latest/virtualenv.html . De lo contrario, correrá el riesgo de que el código se ejecute con Python 2.7 pero intente cargar módulos y bibliotecas de Python 2.6, y escenarios aún peores.
Además, la recomendación para tener dos Python de la misma versión principal en un sistema es mantener ambos en diferentes prefijos, como el sistema uno en /usr y el otro en /opt (/usr/local no será suficiente para una clara separación).
Podría cambiar el shebang a #!/usr/bin/env python2.7 .
O podría usar módulos de entorno y dejar que el shebang sea #!/usr/bin/env python . Cuando carga el módulo python 2.7 (que puede ser el predeterminado), el script se ejecuta con python 2.7, y cuando carga el módulo python 2.6, el script se ejecuta con python 2.6.
En esta caja tengo instalado Python 2.6 y 2.7. Dependiendo del módulo que se cargue, se ejecuta la versión seleccionada de python. Las bibliotecas, los módulos y los paquetes se cargan constantemente para la versión correcta.
$ cat t.py #!/bin/env python import sys print(sys.version) $ ./t.py 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] $ module load python/2.7.3 $ ./t.py 2.7.3 (default, Nov 7 2012, 16:29:59) [GCC 4.7.2] $O podría usar virtualenv como sugiere @jsbueno.