Используя 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
.
Что случилось?