bin/env mam ten problem!
System A
działa Ubuntu i potrzebuje Python 2.6
na kilka różnych rzeczy.
Zainstalowałem osobno Python 2.7
oddzielnie System A
System B
ma natywnie.
czynienia z wieloma wersjami plików python python gdy trzeba użyć #/python
Mam skrypt python BLAH
, który mówi #!/bin/env python
do góry.
W dalszej kolejności wykonuje inny skrypt SIGH
, który na górze również mówi: #!/bin/env python
.
BLAH
musi działać na obu System A
lub System B
i zawsze musi uruchomić Python 2.7
----
częścią mojego rozwiązania tej pory:
mieć skrypt otoki, który próbuje najpierw zobaczyć jeśli which python
wskazuje na Python 2.7
Jeśli to jest w porządku, uruchom BLAH
z tą ścieżką dla Pythona.
Spróbuj ponownie which python2.7
i użyj tej ścieżki do uruchomienia BLAH
i dodaj tę ścieżkę do env PATH
.
Problem z tym rozwiązaniem jest:
Na System A
(która Python 2.7 zainstalowane oddzielnie)
Kiedy BLAH
Wykonuje, biegnie z Pythona 2.7 ze względu na skrypcie otoki pisałem (w porządku tak daleko ..)
Kiedy BLAH
ikra SIGH
, SIGH
używa shebang znaleźć Pythona w ścieżce i wtedy jest w tarapatach, ponieważ szuka pytona w env
„s PATH
i powinno być patrząc na python2.7
w ścieżce.
Czy istnieje czysty sposób radzenia sobie z tym problemem?
Z góry dziękuję!
Czy można zaimportować, a następnie uruchomić SIGH z BLAH? –
Nie jestem pewien, czy musisz dodać ścieżkę, którą uzyskasz z 'co' do' PATH' - 'który' faktycznie będzie tylko wyszukiwał ścieżki zawarte w 'PATH'. – jedwards