ros+python3設定
ros 設置 python3 版本環境的流程
Ubuntu 16.04 上面的 ROS lunar 預設使用 python2.7
安裝pyenv
使用pyenv來控管系統上的不同 python 版本是目前 python 社群的發展趨勢
安裝 python3.6.5
pyenv install 3.6.5
pyenv global 3.6.5
更改預設的shell變數 : $PYTHONPATH
ros主要藉由 $PYTHONPATH
變數來獲得系統上有關python的資訊
把下面這行放到 ~/.bashrc
的檔案尾端
export PYTHONPATH=$(pyenv root)/shims:$PYTHONPATH
更改之後會讓 ros 預設先讀取目前設定的 python 版本 如果只做完這步驟就使用 catkin_make 來編譯的話八成會跳出找不到套件的問題
Traceback (most recent call last):
File "/opt/ros/lunar/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
import genmsg.template_tools
File "/opt/ros/lunar/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
import em
ModuleNotFoundError: No module named 'em'
手動安裝相依性套件
會需要做到這步驟目前猜測是 ubuntu 的套件 python-catkin-pkg
跟 pyenv
兩者之間的整合性並不太好。
pyenv global 3.6.5
pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools empy