啊啊

用C++为Python编写扩展模块(动态链接库),并在Python中调用C++开发的扩展功能函数过程,遇到如下错误的童鞋,系不系很苦恼啊:

Traceback (most recent call last):
File “t.py”, line 6, in <module>
import Rabbit
ImportError: No module named Rabbit

经过分析,可能的原因有:

1、  开发中若使用的Python2.5版本,请检查生成的动态库扩展名,是不是”pyd”;(若后缀是dll,悲催了,赶紧修改吧);

2、  在DLLMAIN的源代码中,将扩展模块的初始化代码导出:

#ifdef PYRABBIT_EXPORTS
#define PYRABBIT_API __declspec(dllexport)
#else
#define PYRABBIT __declspec(dllimport)
#endif
extern “C”  PYRABBIT_API void initRabbit(){
PyObject* m=Py_InitModule(“Rabbit”, RabbitMethods);
}

3、  生成的动态库文件(后缀名为pyd),所在目录没有加入到环境变量里面,可以通过在控制台输入以下命令检查;

Import os
os.sys.path

原文链接: https://www.cnblogs.com/dengyigod/archive/2012/07/28/2613668.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    啊啊

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/57154

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午7:59
下一篇 2023年2月9日 上午8:00

相关推荐