Hacer 2.7.3 versión predeterminada de python en CentOS 6


0

Quiero ejecutar python desde php y tengo un script que funciona bien para el intérprete de python predeterminado. Tengo centos con python 2.6.6 predeterminado que está instalado en / usr / bin / python y python 2.7.3 que está instalado en /usr/local/bin/python2.7. Puede ver cuál es la versión predeterminada de Python:

[root@me ~]# python -V
Python 2.6.6

[root@me ~]# python2.7 -V
Python 2.7.3

¿Cómo hago que Python 2.7.3 sea Python predeterminado en mi sistema operativo? Entonces, cuando ejecuto python -V, ¿debería obtener 2.7.3?

Sé que es malo La alternativa es desinstalar python 2.7.3 y no sé cómo hacerlo.

Respuestas:


1

A mi modo de ver, tienes tres opciones.

  • /usr/bin/pythonen realidad es un enlace simbólico a la versión de Python que necesita ser predeterminado. Simplemente puede volver a vincular eso a python2.7 y debería ser bueno en ese frente. Si no necesita Python 2.6.6 , ¿por qué mantenerlo allí? Puedes quitarlo.

  • Su segunda opción es alias python=/usr/bin/python2.7en su archivo bashrc. Esto será por defecto a python2.7 en todo momento.

  • Su tercera y última opción, que es preferible a todas las opciones anteriores, es usarla virtualenv.

Virtualenvcreará un contenedor de entorno virtual para usted en su directorio actual. Puede hacer sus cambios en ese entorno sin afectar su sistema ya que otras aplicaciones de todo el sistema podrían estar utilizando python2.6. Esta es la mejor y más segura opción con el menor esfuerzo posible.

Tenga cuidado : las dos primeras opciones son opciones viables, pero no son buenas opciones, ya que requieren suponer que su sistema no necesita python2.6 .

ACTUALIZACIÓN Si desea una solución fácil, al comienzo de su secuencia de comandos de Python puede agregar el siguiente shebang

#!/usr/bin/env python2.7

Esto le dará la capacidad de ejecutar ese script específico en 2.7. Mis sugerencias anteriores fueron para todo el sistema. Pero si solo lo quiere en un script, esto debería ser suficiente. Después de hacer eso, haga que el script sea ejecutable y simplemente ejecútelo como cualquier otro ejecutable usando./test.py

Para ejecutar su script desde php, deberá seguir esta publicación que le brinda el fragmento para poder hacerlo.


Hola, alias funcionará para el comando exec tal exec ("/ usr / bin / python /test.py", $ output). Es decir, se ejecutará Python 2.6.6. o 2.7.3?
Brana

@Brana Actualicé mi respuesta para ti.
Digisec

Hola, he intentado esto, pero no importa lo que use como #! / Usr / bin / env python2.7, es lo mismo. Creo que lo que uso en exec ("/ usr / bin / python /test.py", $ output) es importante.
Brana

¿Podría ser la versión Virtualenv utilizada con exec?
Brana

¡Todavía no entiendo por qué quieres usar exec cuando simplemente puedes llamar al script!
Digisec
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.