2012-11-22 116 views
3

這涉及到在HTCondor工作中導入我自己的python模塊。在HTCondor中導入本地python模塊

假設'mymodule.py'是我要導入的模塊,並保存在名爲XDIR的目錄中。 在另一個叫YDIR目錄,我已經寫了一個名爲xImport.py文件:

#!/usr/bin/env python 
import os 
import sys 
print sys.path 
import numpy 
import mymodule 

和禿鷹提交文件:

executable = xImport.py 
getenv = True 
universe = Vanilla 
output = xImport.out 
error = xImport.error 
log = xImport.log 
queue 1 

提交本的結果是,在xImport.out, sys.path打印出來,顯示XDIR。但是在xImport.error中,有一個ImporError說'沒有名爲mymodule的模塊'。所以似乎mymodule的路徑是在sys.path中,但python沒有找到它。我也想提一提的是錯誤信息說,從導入錯誤文件

/mnt/novowhatsit/YDIR/xImport.py 

,而不是YDIR/xImport.py起源。

如何編輯上述文件以導入mymodule.py?

回答

0

當condor運行你的進程時,它會在該機器上創建一個目錄(通常在本地硬盤上)。它將其設置爲工作目錄。這可能是你看到的問題。如果XDIR對於運行condor_submit的機器是本地的,那麼它的內容在運行xImport.py的遠程機器上不存在。

嘗試使用.submit功能transfer_input_files機制(請參閱http://research.cs.wisc.edu/htcondor/manual/v7.6/2_5Submitting_Job.html)將mymodule.py複製到遠程計算機。