C++封装python扩展模块ImportError: No module named 原因分析
2012-02-13 17:35
1056 查看
[首发地址]
http://www.atolin.net/c%E5%B0%81%E8%A3%85python%E6%89%A9%E5%B1%95%E6%A8%A1%E5%9D%97importerror-no-module-named-%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90/
C++封装python扩展模块ImportError: No module named 原因分析
用C++为Python编写扩展模块(动态链接库),并在Python中调用C++开发的扩展功能函数过程,遇到如下错误的童鞋,系不系很苦恼啊:Traceback (most recent calllast):
File "t.py", line 6, in<module>
import Rabbit
ImportError: No modulenamed Rabbit
经过分析,可能的原因有:
1、 开发中若使用的Python2.5版本,请检查生成的动态库扩展名,是不是”pyd”;(若后缀是dll,悲催了,赶紧修改吧);
2、 在DLLMAIN的源代码中,将扩展模块的初始化代码导出:
#ifdef PYRABBIT_EXPORTS
#define PYRABBIT_API__declspec(dllexport)
#else
#definePYRABBIT __declspec(dllimport)
#endif
extern "C" PYRABBIT_API void initRabbit(){
PyObject*m=Py_InitModule("Rabbit", RabbitMethods);
}
3、 生成的动态库文件(后缀名为pyd),所在目录没有加入到环境变量里面,可以通过在控制台输入以下命令检查;
Import os
os.sys.path
相关文章推荐
- C++开发python扩展模块:ImportError: dynamic module does not define init function (initRabbit)解决办法
- python3下:Was unable to import superset Error: No module named 'MySQLdb'
- 明明已经安装了某个模块,python报错:ImportError: No module named ***
- 高效开发Python扩展模块方法:用SWIG封装C/C++代码
- Python使用模块Pyserial模块报<ImportError:No module named tools.list_ports>
- 解决python安装selenium报错问题ImportError: No module named 'selenium'
- 无法import的原因(ImportError: No module named *****)
- python3.6脚本import json模块后,报错:AttributeError: module 'json' has no attribute 'dumps'
- TypeError: 'module' object is not callable 原因分析(python模块导入注意事项)
- SWIG and Python(用SWIG将C/C++封装为Python扩展模块)
- python ImportError: No module named 的问题
- python: ImportError: No module named bz2
- 解决:ImportError: No module named 'xxxx'-------python中关于import语句的认识2
- 无法import的原因(ImportError: No module named *****)
- Debug 版的 C/C++ Python 扩展模块链接错误:Error LNK1104 cannot open file 'python35_d.lib'
- 解决:ImportError: No module named 'xxxx'-------python中关于import语句
- Python 使用中出现错误:ImportError: No module named _sqlite3
- ImportError: No module named matplotlib.pyplot安装模块python
- ImportError: No module named matplotlib.pyplot安装模块python
- 在安装PyGTK时总是提示python: ImportError: No module named bz2