c++ - python 找不到用 swig 编译的模块

标签 c++ python module swig

我对 SWIG 和 python 有疑问。我有一个可以正确编译的 c 类,但是 python 脚本说它找不到模块。

我编译:

swig -c++ -python codes/codes.i
g++ -c -Wall -O4 -fPIC -pedantic codes/*.cc
g++ -I/usr/include/python2.6 -shared codes/codes_wrap.cxx *.o -o _codes.so

这给了我一个 _codes.so 文件,正如我所期望的,但是我有这个 python 文件:

import sys
import codes

(rest of the code omitted)

它给了我:

 Traceback (most recent call last):
   File "script.py", line 3, in <module>
    import codes
ImportError: No module named codes

根据 http://www.swig.org/Doc1.3/Introduction.html#Introduction_nn8这就是我应该做的... 文件都在同一个目录下,所以路径应该没有问题吧?

最佳答案

如果是发布版本,请将 _codes.so 重命名为 _codes.pyd。重命名为 _codes_d.pyd 以进行调试构建。

HTH

关于c++ - python 找不到用 swig 编译的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2751434/

相关文章:

c++ - 为什么编译语言不能有 "eval"函数?

c++ - _mm_moveh_ps 的 AVX 等效项

c++ - 问题是使用 -02 或以上优化在框架中重载 operator new 和 delete

c++ - g++ 和 clang++ 不同的行为与指向可变参数模板函数的指针

python - 寻找一种更有效的方法来矢量化具有不同行信息的 CSV

与 OCaml 中的多个实现接口(interface)

angular - Angular 4 中的循环依赖

python - 如何在 Python 中对象的模拟方法中调用 self?

python - 在python中解析json文件

跨模块的 Python 枚举