qsub和python导入.py模块,但为.py返回ImportError

2024-05-20 12:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过qsub myScript.sh -cwd提交作业,其中shell脚本运行Python-2.7脚本myPython.py。在

    # myScript.sh
    python2.7 myPython.py

现在,myPython.py需要导入一个Python包,该包存储在我的本地目录中,以便脚本以

^{pr2}$

提交作业后,日志文件包含来自Python的以下输出:

    ImportError: No module named problem_c

此错误发生在从*.py文件导入多个模块而没有返回错误之后,因此我非常确定这不是路径的问题。我发现的唯一区别是problem_c文件以.pyf结尾(即problem_c.pyf)。它与以.py结尾的模块存储在同一目录中。在

当我以python2.7 myPython.py的形式在本地运行脚本时,在加载包时不会发生此错误。但是,如果不将作业提交到队列,则无法完成该作业。为什么当我使用qsub时,作为.pyf文件编写的模块会受到不同的处理,在这种情况下,如何导入它们?在

(如果重要的话,我正在研究的集群是用Sun Grid引擎建立的。)

谢谢你的想法。在


Tags: 模块文件py目录脚本sh错误结尾
2条回答

以下是导入模块及其路径的方法:

import imp
module_name = imp.load_source('module_name', '/abs/path/to/module/module_name.py')

# usage
module_name.function()

或者f2py。显然你没有在集群上添加模块。在

相关问题 更多 >