为了完成一个项目,我在Ubuntu18.04上安装了Anaconda,但是发现默认base下的python版本变成3.9.7了
ros默认是python2.7的, 经过查找资料和讨论,继续使用ROS的话,解决方法如下:
使用Anaconda建立Python2.7的环境,然后在那个环境中运行ROS
conda create -n ros_env python=2.7 anaconda
建立名为ros_env的环境之后,需要安装许多插件,安装完成后,加载环境:
source activate ros_env
这时,在查看python的版本变为:
Python 2.7.16 |Anaconda, Inc.| (default, Aug 22 2019, 16:00:36)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
这时import rospy会报错,原因是由于rospkg没有安装,在ros_env的环境下安装rospkg
pip install -U rospkg
安装成功后,import rospy 以及 import rospkg都没有问题了。
总结:这个方法很好用,就是在使用ros之前需要进入ros_env环境,相对比较方便。当然,也可以将source activate ros_env加入到.bashrc,这样做不推荐,因为这样做默认的环境变为python2.7的版本,如果想要python3以上的版本会有问题
自己尝试的时候,发现catkin_make编译包的时候会报错
ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
解决方法
cd /
pip install catkin_pkg
注意:切换到根目录是必须的