Ubuntu18.04: ROS Melodicを入れるとPython3でOpenCVがエラーになる問題

私の環境では問題がないのですが、Ubuntu18.04でOpenCVをインストールしてからROS Melodicを入れると以下のエラーになるようです。


happyrobot@razer:~/Documents$ python3
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /opt/ros/melodic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

解決方法
python3を実行しているのにmelodicのpython2.7を読みにいっている。以下のように、Pythonスクリプトの先頭部分にあるimport cv2の上に、sys.path.remove(‘/opt/ros/melodic/lib/python2.7/dist-packages’)を挿入する。これで、/opt/ros/melodic/lib/python2.7/dist-packages/cv2.soをpathから取り除く。


import os
import sys
sys.path.remove('/opt/ros/melodic/lib/python2.7/dist-packages')
import cv2

コメント

タイトルとURLをコピーしました