When I try to import cv2 in IPython , I am getting this error-
ImportError: dynamic module does not define module export function (PyInit_cv2)
I have opencv 3.0, ubuntu 14.04, python 3.4.
I searched online but couldn't get any answer.
Python3 libraries usually can be found in: /usr/lib/python3/dist-packages
I found out that the library cv2.cpython-34m.so is needed for Python3.4. But this file wasn't be contained in my default library directory.
In my environment, this library was stored in /usr/local/lib/python3.4/dist-packages/
So I created a symbolic link. Try it with:
cd /usr/lib/python3/dist-packages
sudo ln -s /usr/local/lib/python3.4/dist-packages/cv2.cpython-34m.so
python3
>>> import cv2
I hope, this helps you
In my case, I was using opencv library for python2 in python3.
Check your PYTHONPATH by typing
echo $PYTHONPATH
and see there is correct path for python3.
$ echo $PYTHONPATH
:/usr/local/lib/python3.4/site-packages
I define PYTHONPATH at the end of ~/.bashrc
file. Modify it if you are loading python2's library.
After source ~/.bashrc
or restart terminal, check PYTHONPATH again
It solves my problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With