【发布时间】:2012-06-29 06:49:35
【问题描述】:
我正在尝试使用 thanos,它会在运行时创建一个扩展模块。 Thanos 不断失败,因为它无法导入它在运行时创建的扩展。
我很困惑为什么会这样。
在运行时(编译后)“cutils_ext”目录包含cutils_ext.so
import cutils_ext 有效,但 import cutils_ext.cutils_ext 失败
ImportError: No module named cutils_ext
我已经直接用 imp 进行了测试。说 cutils 是导入的 cutils_ext 包。 当我这样做时:
imp.find_module('cutils_ext', cutils.__path__)
我又得到了:
ImportError: No module named cutils_ext
我完全感到困惑。有没有办法调试这个?由于无法启动 python 解释器(使用 picloud),我无法以详细模式运行 python,但如果我可以在运行时启用详细模式,那将有所帮助(还没有弄清楚如何做到这一点)。
【问题讨论】:
-
Thanos 链接其模块的 Python 版本是否与您使用的相同?例如,Python 2 和 Python 3 的入口点协议不同。
-
是的,都是python2.7。我什至可以将扩展下载到我自己的计算机并直接加载。无论哪种方式,find_module 似乎都失败了,甚至在加载发生之前
-
哇,我的错。看起来我在 sys,path 的其他地方有另一个 cutils_ext 并且 Theano 正在预加载它。在 Theano 上提交了一个错误 (github.com/Theano/Theano/issues/728)
标签: python python-import python-extensions