簡體   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