[TIP] OpenCV module이 ROS(python2.7)의 것과 충돌 시 해결방법

2020. 1. 23. 11:58Programming/Python

[증상]

Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "", line 1, in 
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

 

[원인]

  • ROS 설치 시 .bashrc에 PYTHONPATH를 설정해주게 되는데, 이것이 문제를 일으키는 것이다.
  • 해결법은 이 PYTHONPATH를 해제해주면 된다.
  • 해결법 link: 

https://stackoverflow.com/questions/43019951/after-install-ros-kinetic-cannot-import-opencv

[Solution]

  • 아래 명령어를 새로 command창을 열 때마다 실행해준다.
    • 단, 이렇게 하면, ROS의 것은 제대로 동작하지 않는다.

unset PYTHONPATH

  • VirtualEnv를 사용하는 경우에는 activate에 위 명령어 추가해주면 자동으로 적용할 수 있다.

'Programming > Python' 카테고리의 다른 글

Pycharm을 이용한 OpenCV 사용방법  (0) 2019.08.01