繁体   English   中英

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

[英]qsub and python, imports .py modules but returns ImportError for .pyf

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

    # myScript.sh
    python2.7 myPython.py

现在, myPython.py需要导入存储在本地目录中的Python包,因此脚本以

    # myPython.py
    import sys
    sys.path.append('/file/path/for/package')
    import package

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

    ImportError: No module named problem_c

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

当我在本地运行脚本(如python2.7 myPython.py时,在加载程序包时不会发生此错误。 但是,该作业占用大量内存,因此无法将其提交到队列中。 为什么当我使用qsub ,以.pyf文件形式编写的模块会受到不同对待,在这种情况下如何导入它们?

(如果很重要,我正在使用的群集是使用Sun Grid Engine设置的。)

感谢您的想法。

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

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

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

# usage
module_name.function()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM