【问题标题】:import local python module in HTCondor在 HTCondor 中导入本地 python 模块
【发布时间】:2012-11-11 07:11:27
【问题描述】:

这涉及在 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 中,有一个 ImporError 说“没有名为 mymodule 的模块”。所以看起来mymodule的路径在sys.path中,但是python没有找到。我还想提一下,错误消息说 ImportError 源自文件

/mnt/novowhatsit/YDIR/xImport.py

而不是YDIR/xImport.py

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

【问题讨论】:

    标签: python import module submit condor


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2018-11-03
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 2018-10-07
      • 2021-10-04
      相关资源
      最近更新 更多