SWIG %import 与 python2 一起工作,但不能像预期的那样与 python3 一起工作

问题描述 投票:0回答:0

我想将一个大型 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 的一些关系,但没有找到相关的东西。

python-3.x swig
© www.soinside.com 2019 - 2024. All rights reserved.