我有一個使用Scientific Linux的計算集羣的帳戶。當然,我只有用戶訪問權限。我正在使用python,我需要運行python腳本,所以我需要導入一些python模塊。由於我沒有root訪問權限,我在我的$ HOME上安裝了一個本地python副本以及所有必需的模塊。當我在我的帳戶(託管節點)上運行腳本時,它們運行正常。但爲了將作業提交到計算隊列(在更快的機器上處理),我需要提交一個包含執行腳本的行的bash腳本。計算羣集使用SunGrid引擎。但是,當我提交bash腳本時,出現錯誤,我找不到安裝的模塊!通過計算集羣加載python模塊
所以我對這個問題的理解是,模塊沒有被髮送或執行腳本的機器。我的問題是:是否可以在腳本中包含所有模塊?
編輯:我剛剛創建了一個運行which python
的bash腳本,我注意到輸出不是我的python副本。但是當我在我的ssh帳戶上運行'哪個python'時,我正確地獲得了我的python副本。
請參閱我的編輯。在我的SSH帳戶中,所有設置都正確,但是當我發送作業運行時,它使用其他一些python。 –
看我的編輯。如果它在ssh進入計算節點時起作用,那麼SGE必須產生非登錄shell。你可以在http://superuser.com/questions/183870/difference-between-bashrc-and-bash-profile閱讀關於登錄和非登錄shell的區別 – mbatchkarov