Tôi có vấn đề này:
System A
chạy Ubuntu và cần Python 2.6
cho một loạt các thứ khác nhau.
Tôi đã cài đặt riêng Python 2.7
trên System A
System B
có Python 2.7
nguyên bản.
Đối phó với nhiều phiên bản python khi file python phải sử dụng #/bin/env python
Tôi có một tập lệnh python BLAH
có nội dung là #!/bin/env python
ở trên cùng.
Tiếp tục thực hiện một tập lệnh khác SIGH
, lên trên cùng cũng cho biết: #!/bin/env python
.
BLAH
cần chạy trên một trong hai System A
hoặc System B
, và nó luôn luôn cần chạy Python 2.7
----
Một phần của giải pháp của tôi cho đến nay:
Có một kịch bản wrapper rằng đầu tiên cố gắng để xem nếu which python
trỏ đến Python 2.7
Nếu không sao thì hãy chạy BLAH
với đường dẫn đó cho python.
Khác thử which python2.7
và sử dụng đường dẫn đó để chạy BLAH
và thêm đường dẫn đó vào env PATH
.
Vấn đề với giải pháp này là:
On System A
(mà đã Python 2.7 được cài đặt riêng)
Khi BLAH
thực thi, nó chạy với Python 2.7 vì kịch bản wrapper tôi đã viết (okay cho đến nay ..)
Khi BLAH
spawns SIGH
, SIGH
sử dụng công việc để tìm trăn trong đường dẫn và sau đó nó gặp rắc rối vì nó đang tìm kiếm python trong env
's PATH
và nó phải được tìm kiếm python2.7
trong đường dẫn.
Có cách nào xử lý vấn đề này một cách rõ ràng không?
Cảm ơn trước!
Bạn có thể nhập, sau đó chạy SIGH từ BLAH không? –
Tôi không chắc chắn bạn cần phải thêm đường dẫn mà bạn có được từ 'đó' để' PATH' - 'mà' thực sự sẽ chỉ tìm kiếm đường dẫn chứa trong' PATH'. – jedwards