首页 > 解决方案 > 未找到 SWIG 生成的 python 文件

问题描述

我已经在 C++ 中创建了一个库来执行字符串匹配,并且正在尝试使用 SWIG 将代码移植到 python 中。我创建了一个 .i 文件,并生成了一个 .py 文件。在测试文件时,一切正常,我已经能够按预期访问函数和类。但是,我现在遇到的问题是,当尝试在更复杂的环境中使用代码时,由于生成的 .py 文件中的这些行,我遇到了错误。

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _EESM
else:
    import _EESM

对于我的项目,EESM.py 是我创建的 python 文件,其中有一个 _EESM.py 的导入,带有下划线。我使用 PyCharm 编写代码,它警告我没有找到模块 _EESM。尝试运行项目时,会出现同样的错误。我认为它可能指的是 SWIG 生成的 _EESM.so 文件,但是每当我将该文件放在我的目录中时,我仍然收到相同的错误。我的问题是我如何处理 _{File_Name} 模块,如何找到它?

标签: pythonc++swigword-wrap

解决方案


推荐阅读