在HTCondor中导入本地Python模块

3
这涉及在HTCondor作业中导入自己的Python模块。 假设'mymodule.py'是我想要导入的模块,并保存在名为XDIR的目录中。 在另一个名为YDIR的目录中,我编写了一个名为xImport.py的文件:
#!/usr/bin/env python
import os
import sys
print sys.path
import numpy
import mymodule

以及一个Condor提交文件:

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 中,出现了“没有名为 mymodule 的模块”的 ImportError。因此,似乎 mymodule 的路径在 sys.path 中,但 Python 找不到它。我还想提一下,错误消息说 ImportError 来自文件。
/mnt/novowhatsit/YDIR/xImport.py

而不是 YDIR/xImport.py

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

1个回答

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复制到远程机器上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接