【发布时间】:2015-12-17 18:01:08
【问题描述】:
我想在 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 numpy\ndef 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”,第 5 行,在 ImportError: 没有名为 multiarray 的模块
我还在 C++ 中创建了一个简单的项目,并将 python.h 头文件和 python lib 目录添加到我的项目中,以测试 numpy。结果没问题,一切正常,但在 PythonQt 中它不起作用。我搜索了很多这个错误,但没有一个能解决我的问题。
我需要立即解决这个问题,所以请帮忙
【问题讨论】: