[英]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.