这涉及在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?
答案 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复制到远程计算机。