Mac-Osx
Mac OS X:從 python 腳本中更改 $PATH
我有一堆 python 腳本。其中一個安裝需要將其路徑添加到 $PATH 的軟體(顛覆)。安裝後,我希望下一個腳本使用該軟體。如果我
export PATH=/opt/subversion/bin:$PATH
在第一個和第二個腳本之間執行 bash,一切都很好。但是,如果我添加os.system( 'export PATH=/opt/subversion/bin:$PATH' )
為第一個腳本(安裝顛覆)的最後一個命令,$PATH
它退出後保持不變。是否有任何方法可以從 python 腳本中更改 $PATH 以便在腳本完成後保持更改(當然,在單個 bash 會話中,我知道
/etc/profile
)。
os.system()
產生一個子外殼。所以它不知道您現有的外殼。您當然可以在執行命令時設置路徑(不導出)。IE:
PATH="$PATH:/opt/subversion/bin" /command/to/run
哦,os.system() 正在貶值。你應該切換到
subprocess.Popen()
.
一般來說,這是不可能的。一個程序不能改變另一個程序的環境。
父程序可以預設它產生的子程序的環境,但實際上沒有任何方法可以讓一個程序影響另一個程序的環境,除非這些應用程序是專門為允許這樣做而設計的。