for Robot Artificial Inteligence

Ubuntu 16.04 Lite에 가상 환경 python3 설치하기

|

저와 같이 반복 학습으로 로봇을 훈련시키거나 다른 이유로 python3 가상환경을 만들어서 사용하려고 하시는분들에게 ROS 는 Python 2.7버전밖에 제공하지 못하여 프로젝트를 꺼려하시는 분들께 가상 환경 설치및 Ros에서 임시로 제공하는 python 3 프로젝트 파일을 만들어 보겠습니다.

  1. ROS python 3 프로젝트 파일 만들기

첫번쨰로 python3 환경을 만들기 위해 라이브러리로 부터 셋업을 합니다.

sudo apt-get install python3-pip python3-yaml
sudo pip3 install virtualenv
virtualenv -p python3 dnn_venv
sudo pip3 install rospkg catkin_pkg

홈 다이렉터리에 가면 dnn_venv폴더가가 생긴 것을 볼 수 있습니다. python 3 활성화를 위해서 아래와 같이 따라합니다.

cd dnn_venv/bin
source activate

그러면 python3가 활성화 된것을 볼 수 있습니다. 비활성화 command는

deactivate하면 비활성화가 됩니다.
  1. Catkin 폴더 만들기 이제 Catkin 폴더를 만들얼 보겠습니다.
    cd ..
    sudo pip3 install rosdep
    sudo pip3 install rosinstall_generator
    sudo pip3 install rosinstall
    

catkin 폴더를 설정하겠습니다.

catkin config --init
sudo pip3 install wstool
catkin config -DCMAKE_BUILD_TYPE=Release
git clone https://github.com/tkruse/vcstools
cd vcstools
git checkout mock_server_tar_test
python setup.py develop
cd ..
git clone https://github.com/vcstools/wstool
cd wstool
python setup.py develop
rosinstall_generator ros_comm --rosdistro kinetic --deps --tar > kinetic-ros_comm.rosinstall
wstool init -j8 src kinetic-ros_comm.rosinstall

만약 설치중 오류가 뜨면

wstool update -j 4 -t src

Catkin 하기전에 export를 해줍니다.

export ROS_PYTHON_VERSION=3

그리고 몇가지 dependencies를 설치해줍니다

sudo apt install python3-empy
sudo apt install libgpgme11-dev
catkin build
source install/setup.bash --extend

3. Opencv 설치

cd src
git clone -b kinetic https://github.com/ros-perception/vision_opencv.git
cd ~/catkin_build_ws
catkin build cv_bridge
source install/setup.bash --extend

[Reference]

(https://stackoverflow.com/questions/49221565/unable-to-use-cv-bridge-with-ros-kinetic-and-python3)

https://answers.ros.org/question/237613/how-to-define-ros-kinetic-to-use-python3-instead-of-python27/

https://medium.com/@beta_b0t/how-to-setup-ros-with-python-3-44a69ca36674

https://github.com/ros/ros/issues/158

https://github.com/OTL/cozmo_driver#super-hack-to-run-rospy-from-python3

Comments