Python抱怨SWIG模块不存在

2024-10-01 07:46:35 发布

您现在位置:Python中文网/ 问答频道 /正文

根据web上的不同教程,我尝试使用SWIG用python编写c++类的包装器。在

我的班级是这样的:

/*file libraryInstance.h*/
struct LibraryInstance
{
    void init();
    void terminate();
private:
    std::shared_ptr<AnObject> m_spAnObject;
};

对于python exposition,我制作了一个.I文件:

^{pr2}$

然后我执行了命令swig -c++ -python -o ./src/libraryInstance_wrap.cpp ./src/libraryInstance.i

在没有任何输出错误的情况下,swig生成了两个文件libraryInstance_wrap.cpp和{}

然后我编译c++文件,包括libraryInstance_wrap.cpp。所有的编译都很好,我得到了我的库。在

{{cd6>可以清楚地看到生成的开关:

cf. entire generated python wrapper here.

但是当我启动命令python LibraryInstance.py,在与我的目录相同的目录中。因此我看到以下错误输出:

Traceback (most recent call last):
  File "LibraryInstance.py", line 26, in <module>
    _LibraryInstance = swig_import_helper()
  File "LibraryInstance.py", line 18, in swig_import_helper
    import _LibraryInstance
ImportError: No module named _LibraryInstance

当我看密码的时候LibraryInstance.py,看起来好像抛出了异常ImportError,python找不到该模块。(第18行)。在

你知道我该怎么纠正吗?在


Tags: 文件pyimport命令src目录错误line
1条回答
网友
1楼 · 发布于 2024-10-01 07:46:35

在SWIG文档中,paragraph 31.2.2表示库的名称。因此应该是_NameOfTheModule.so

所以我将我的库重命名为_LibraryInstance.so,而不是{}。。。现在我的模块装载得很好。在

相关问题 更多 >