在HTCondor中导入本地python模块

时间:2012-11-22 21:35:28

标签: python import module submit condor

这涉及在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没有找到它。我还想提一下,错误消息说ImportError来自文件

/mnt/novowhatsit/YDIR/xImport.py

而不是YDIR/xImport.py

如何编辑上述文件以导入mymodule.py?

1 个答案:

答案 0 :(得分: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复制到远程计算机。