用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
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!