環境
Ubuntu16.04
Opencv 3.4.0
python3.6
Opencvをビルドすると、cv2.soが/home/user/opencv/build/lib/cv2.so
に作成されるのですが、これをpython3.6で使用できるようしたいと考えています。
python3.6のパスが通っている/usr/local/lib/python3.6/dist-packages/
にシンボリックリンクをこのようにln -s /home/user/opencv/build/lib/cv2.so cv2.so
作成したのですがpython3.6でimport cv2
をするとエラーが以下のように出てしまいます。
以下エラー内容
import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python3.6/dist-packages/cv2.so: undefined symbol: PyCObject_Type
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
I mportError: /usr/local/lib/python3.6/dist-packages/cv2.so: undefined symbol: PyCObject_Type