我正在使用MinGW使用Swig构建PythonC模块。当我告诉Python加载模块时,它失败并抱怨Python无法找到该模块。
有趣的是,该模块与运行Python的目录位于同一目录中,并且模块名为_mod.pyd
。 (我还生成了在同一路径中使用mod.py
的_mod.pyd
文件。)
令人沮丧,就像您不相信!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mod.py", line 25, in <module>
_mod = swig_import_helper()
File "mod.py", line 21, in swig_import_helper
_mod = imp.load_module('_mod', fp, pathname, description)
ImportError: DLL load failed: The specified module could not be found.
它生成干净(我正在使用distutils),并且我所有的dll都位于暴露给PATH的目录中。
我在Windows XP + MinGW平台上(最新的稳定版MinGW)。
谢谢!
最佳答案
这是一个普遍的问题。您可能正在使用Windows的Python二进制版本,该版本是通过MSC而不是MinGW编译的。您可以从命令行运行解释器时看到解释器说的内容。如果是这种情况,您有两种选择:
用MSC编译模块或
用MinGW编译python解释器。
对于后一种选择,祝您好运。我从来都做不到。
关于python - Python + SWIG + MinGW-setup.py构建源代码和pyd文件,python“找不到模块”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2262351/