使用 swig 2.0.8 和 python 3.2,运行
swig -python -modern -py3 -o mymodule_wrap.c mymodule.i
生成一个包装文件
# define SWIG_init PyInit__mymodule
在那里(注意 PyInit 和 mymodule 之间的两个下划线)。
导入失败
python3 -c "import mymodule"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: dynamic module does not define init function (PyInit_mymodule)
(注意单下划线)。
mymodule_wrap.c
在工作模块中手动删除下划线并重新编译结果。
在这个问题中:SWIG 和 Python3 导入错误,python 解释器抱怨找不到PyInit__module
.
怎么了?