【问题标题】:Using numpy module in pythonQt在 pythonQt 中使用 numpy 模块
【发布时间】: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 中它不起作用。我搜索了很多这个错误,但没有一个能解决我的问题。

我需要立即解决这个问题,所以请帮忙

【问题讨论】:

    标签: c++ numpy pyqt


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 2019-05-30
      • 1970-01-01
      相关资源
      最近更新 更多