gpt4 book ai didi

c++ - 在 pythonQt 中使用 numpy 模块

转载 作者:搜寻专家 更新时间:2023-10-31 02:20:28 24 4
gpt4 key购买 nike

我想在 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 中它不起作用。我搜索了很多这个错误,但没有一个能解决我的问题。

我需要立即解决这个问题,所以感谢您的帮助

最佳答案

最后,经过大量尝试解决这个问题后,我发现 PythonQt 应该在 Release模式下构建才能正常工作(如 pythonQt 文档中所述)。因为我编译了 python3.4,所以我可以调试 PythonQt,因为我在 Debug模式下构建 PythonQt,它为我生成 PythonQt.pdb 文件,但在 Debug模式下它不能正常工作。我把这篇文章留给遇到同样问题的人。

关于c++ - 在 pythonQt 中使用 numpy 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32688404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com