3

I want to use python(especially numpy pkg) in Qt, so I use PythonQt for this purpose. Since I need numpy python module I use this flags to initial PythonQt.

PythonQt::init(PythonQt::ExternalHelp);

For testing numpy I use simple sample test as you can see below

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();
}

When I run above simple code, it raise this error : File "/usr/local/lib/python-64bit-3.4.3/lib/site-packages/numpy/core/init.py", line 5, in ImportError: No module named multiarray

I also create a simple project in c++ and add python.h header file and python lib directory to my project in order to test numpy. the result was ok and everything work correctly, but in PythonQt it doesn’t work. I searched alot for this error and none of them solved my problem.

I need to solve this problem immediately so tanks for helping

0

1 Answer 1

3

finally after a lot of attempting to solving this problem i founded that PythonQt should build in release mode to working correctly(as mention in documention of pythonQt). since i compile python3.4,I could debugging PythonQt because i build PythonQt in Debuging mode it generate PythonQt.pdb file for me, but in debug mode it doesn't work correctly. I leave this post for who one comes with the same problem.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.