bin/env tengo este problema:
System A
corre Ubuntu y Python 2.6
necesita para un montón de cosas diferentes.
Yo instalé Python 2.7
por separado en System A
System B
tiene Python 2.7
natively.
Tratar con múltiples versiones de Python cuando los archivos tienen que usar pitón #/pitón
Tengo un script de python BLAH
que dice #!/bin/env python
arriba.
Más abajo se ejecuta otra secuencia de comandos SIGH
, que arriba también dice: #!/bin/env python
.
BLAH
tiene que funcionar con System A
o System B
, y siempre hay que ejecutar Python 2.7
----
Parte de mi solución hasta el momento:
tener un guión envoltorio que primero trata de ver si which python
apunta a Python 2.7
Si está bien, ejecute BLAH
con esa ruta para python.
Si no, pruebe which python2.7
y use esa ruta para ejecutar BLAH
, y agregue esa ruta a env PATH
.
problema de esta solución es:
En System A
(que Python 2.7 ha instalado por separado)
Cuando BLAH
ejecuta, se ejecuta con Python 2.7 debido al guión envoltorio que escribí (bueno hasta ahora ..)
Cuando BLAH
desova SIGH
, SIGH
utiliza el tinglado para encontrar pitón en el camino y entonces está en problemas porque está buscando pitón en env
's PATH
y se debe buscar python2.7
en el camino.
¿Hay una manera limpia de manejar este problema?
¡Gracias de antemano!
¿Se puede importar y ejecutar SIGH desde BLAH? –
No estoy seguro de que necesite agregar la ruta que obtiene de 'which' a' PATH' - 'which' en realidad solo buscará rutas contenidas en' PATH'. – jedwards