在pythonQt中使用numpy模块
Using numpy module in pythonQt
我想在Qt中使用python(特别是numpy pkg),因此我使用PythonQt来实现此目的。因为我需要numpy python模块,所以我使用这个标志来初始化PythonQt。
PythonQt::init(PythonQt::ExternalHelp);
对于测试numpy,我使用简单的示例测试,如下所示
int main(int argc, char *argv[]){
QCoreApplication a(argc,argv);
PythonQt::init(PythonQt::ExternalHelp);
PythonQtObjectPtr context=PythonQt::self()->getMainModule();
context.evalScript("import numpyndef mul(a,b):n return a*b");
QVariantList args;
args<<42<<2;
QVariant result=context.call("mul",args);
qDebug()<<result.toString();
return a.exec();
}
当我运行上面的简单代码时,它会引发以下错误:文件"/usr/local/lib/python-64bit-3.4.3/lib/site-packages/numpy/core/init.py"importterror:没有名为multiarray的模块
我还用c++创建了一个简单的项目,并将python.h头文件和python库目录添加到我的项目中,以便测试numpy。结果是好的,一切正常工作,但在PythonQt不工作。我搜索了很多这个错误,但没有一个解决我的问题。
我需要立即解决这个问题,谢谢你的帮助
最后经过大量尝试解决这个问题,我发现PythonQt应该在发布模式下构建才能正常工作(如PythonQt文档中提到的)。因为我编译python3.4,我可以调试PythonQt,因为我在调试模式下构建PythonQt,它生成PythonQt。PDB文件为我,但在调试模式下,它不能正常工作。我把这篇文章留给有同样问题的人。
相关文章:
- 尝试导入pybind-opencv模块时出现libgtk错误
- 为什么当我解模块化时,这个C++代代码"效率较低"?
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 内联如何影响模块接口中的成员函数
- C++返回 Numpy 数组的 Python 扩展模块
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 如何从线程中的不同模块调用函数?
- 如何使用 soong 命名空间来有条件地编译模块
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- CMake - 模块 + 库混淆
- 特征 LLT 模块给出不正确的结果?
- 枚举进程模块在有效句柄上返回无效句柄
- 在 python 模块中导入子模块时PyImport_Import失败
- numpy C API 中的import_array如何工作?
- 将 PCL 链接到 Cython C++ 模块
- 即使直接从官方示例中复制,也找不到未知类型名称QML_ELEMENT和 QML 模块
- 使用C 扩展Python/numpy,模块在初始化时崩溃
- numpy.core.multiarray在通过Xcode中开发的C 应用程序调用Python模块时未能导入
- Numpy/CAPI在编译多个模块时出现import_array()错误
- 在pythonQt中使用numpy模块