給定一組蟒程序:如何用適當的python版本啓動python程序?
/tool/a.py
/tool/b.py
/tool/c.py
/tool/d.py
...
存儲在共享的網絡目錄,在混合環境中執行(Solaris和Linux的不同口味),並且所有需要特定蟒版本可能不在用戶$ PATH中,並且可能不安裝在不同類型機器的相同位置。
程序如何指定要使用的Python解釋器?
替代我已經考慮:
在每個Python程序認領,裁判到啓動當前類型的機器的適當python解釋一個python包裝。但是execve不允許將包裝器可執行文件作爲shell腳本來實現,並且爲每臺機器編譯本機可執行文件都需要大量的維護。
爲每個python程序創建一個啓動shell腳本。所有的shell腳本可以共享相同的邏輯來選擇python解釋器,但是我希望避免爲每個python程序分配一個shell腳本(如果可能的話)。
製造某種黑客攻擊,使每個程序可能都既作爲一個shell腳本和Python程序,類似於運行:
"""exec" /tool/python_wrapper "$0" "[email protected]" """#" def foo(): print "foo" foo()
你有一些其他的想法?