본문 바로가기
ROS

ROS - python3 버전업

by winston1214 2020. 12. 3.
반응형

ros melodic을 설치하면 기본적으로 python 2.7로 설정이 된다.

기존의 ros를 쓰는 사람들은 C++을 많이 썼기 때문에 python 버전에 크게 신경을 안쓰지만 나같은 경우는 파이썬 아니면 거의 못하기 때문에...나한텐 매우 민감한 문제였다. 또한, 많은 github 코드들이 python3를 사용하기 때문에 패키지 버전이 안맞았기 때문에 고민을 하였다.

처음엔 바로 python3로 버전업을 하려다가 다른 패키지들과 충돌날까봐 매우매우 조마조마하면서 버전업을 안하였는데 ros 전문가의 말을 믿고 버전업을 시작하였다.

일단 환경은 Jetson AGX Xavier였다가 Xavier는 NVidia의 OS가 너무 까다로워서 그냥 기존 컴퓨터에 ROS를 세팅하였다.

Ubuntu18.04 이고 cuda 11 GPU는 RTX 2070 super이다.

사실 python3로 버전업 하는 것은 매우매우 쉽다. 의존성만 잘 맞으면 되기 때문이다.

터미널에 들어가서

$ sudo apt-get install python3-pip python3-yaml

을 먼저 해준다.

그리고

$ sudo pip3 install rospkg catkin_pkg

하면 설치 완료이다!

이 때 터미널 창에서

$ python3
>>> import rospy
>>> import cv_bridge

가장 중요한 두 명령어만 쳐보면 된다!

근데 난 발생하지 않았지만 cv_bridge 이슈가 있을 수 있다고 많은 구글님께서 말씀하셨다.

그래서 이를 해결하기 위해 catkin_build_ws라는 새로운 디렉토리를 생성한다.

혹시 모를 catkin_make 문제에 대응하기 위한 점이다.

$ mkdir ~/catkin_build_ws && cd ~/catkin_build_ws

$ catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/bin/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so

$ catkin config --install

그러고 나서 git clone을 한다. 만약 git이 안깔려있다면..(그럴리가 없지만)

$ sudo apt-get install git 을 하면 된다.

$ mkdir src && cd src

$ git clone -b melodic https://github.com/ros-perception/vision_opencv.git

$ cd ..

$ catkin_make

만약 build로 한다면 $ catkin build cv_bridge 하면 된다.

이 때 중요한 점은 처음에 catkin_make로 했으면 쭉 catkin_make로 하는 것이 좋다! 만약 catkin_make와 catkin build를 섞어 쓴다면 이상한 에러가 뜰 것이다.. 그럴 땐 catkin init 과 catkin clean -y 를 써서 작업환경을 초기화 시켜줘야한다.

$ source install/setup.bas --extend

이 작업까지 완료되었다면 다시 python3를 키고 import cv_bridge를 하면 에러가 안날 것이다!

반응형

'ROS' 카테고리의 다른 글

ROS - opencv 설치  (7) 2020.12.03
ros melodic install  (0) 2020.11.24

댓글