我想将一个大型 SWIG 项目转换为使用模块。 module1 包含类型定义 module2 和 module3 包含使用 module1
定义的 API// File module2.i
%module module2
%{
#include "module1.h"
%}
%import "module1.i"
%include "module2.h"`
// File module3.i
%module module3
%{
#include "module1.h"
%}
%import "module1.i"
%include "module3.h"
我也有包测试
Test
|- module1
|- module2
|- module3
生成的 python 模块 module2.py 和 module3.py 包含以下导入: 导入模块1
生成的代码适用于 python2 但不适用于 python3,因为导入还需要包的名称。就像是 : 从 Test.module1 导入 *
所以我得到一个错误: ModuleNotFoundError:没有名为“module1”的模块
我正在尝试找到如何使它与 python3 一起工作。 任何帮助,将不胜感激。如果您愿意,可以向我询问更多详情。
我试图在 SWIG 文档中找到与 python3 的一些关系,但没有找到相关的东西。