2
是否可以從一個位置運行python腳本,但腳本執行起來就好像它位於其他位置(因此導入等都按預期工作)。運行python腳本,好像它位於其他地方
我的情況是這樣的:
- 應用位於在/ opt/foo的/ bin中,應用程序主入口點是
foo.py
- 在
/opt/foo
有一堆包/模塊,這些模塊foo.py
然後導入 - 我們運行的應用程序作爲
cd /opt/foo/bin && python foo.py
我希望能夠複製只是foo.py
到/tmp
並運行它與cd /tmp && python foo.py
。我希望它能夠執行,就好像它是生活在/opt/foo/bin
下的foo.py
一樣。如果需要,我可以在/tmp
下修改foo.py
。
希望這對某人有意義。根據/opt/foo/bin
修改foo.py
不是一個選項。一種可能是在/tmp
之下創建一個文件夾,即/tmp/foo
和除了foo.py
之外的符號鏈接 - 但我希望有一種更簡單的方法來完成我想要的功能!
該解決方案適用於簡單情況,但不適用於我們的應用程序,因爲我們的應用程序正在根據腳本的位置自行處理sys.path。 – eddiewould