У меня такая проблема:
System A
запускает Ubuntu и нуждается в Python 2.6
для кучи разных вещей.
Установил Python 2.7
отдельно наSystem A
System B
имеет Python 2.7
изначально.
У меня есть скрипт python BLAH
, который говорит #!/bin/env python
вверху.
Ниже он выполняет еще один скрипт SIGH
, который вверху также говорит:#!/bin/env python
.
BLAH
должен работать на System A
или System B
,и его всегда нужно запускатьPython 2.7
----
Часть моего решения до сих пор:
Имейте скрипт-оболочку, который сначала пытается увидеть, указывает ли which python
на Python 2.7
Если все в порядке, запустите BLAH
с этим путем для python.
В противном случае попробуйте which python2.7
и используйте этот путь для запуска BLAH
и добавьте этот путь в env PATH
.
Проблема с этим решением:
НаSystem A
(на котором Python 2.7 установлен отдельно)
Когда BLAH
выполняется, он работает с Python 2.7 из-за сценария-оболочки, который я написал (, пока все в порядке..)
Когда BLAH
порождает SIGH
, SIGH
использует шебанг, чтобы найти python в пути, а затем у него проблемы, потому что он ищет python в env
's PATH
, а он должен искать python2.7
в путь.
Есть ли чистый способ справиться с этой проблемой?
Заранее спасибо!