【关于运行roscore等命令报错:bash: /opt/ros/melodic/_setup_util.py: /usr/bin/python: 解释器错误: 没有那个文件】
双系统:ubuntu 1804&win11ubuntu默认python版本:2.7ros版本:melodic楼主是已经早就安装并配置好了ros环境,然后又几天没有用到,中间隔着的几天使用了pytorch训练模型来着,今天偶然运行roscore的时候,发现竟然报错了!!!error:找不到 ros 命令,请先安装 python-ros、、、、、巴拉巴拉然后就上网寻找解决办法:网上的办法挺多的
双系统:ubuntu 1804&win11
ubuntu默认python版本:2.7
ros版本:melodic
楼主是已经早就安装并配置好了ros环境,然后又几天没有用到,中间隔着的几天使用了pytorch训练模型来着,今天偶然运行roscore的时候,发现竟然报错了!!!
error:找不到 ros 命令,请先安装 python-ros、、、、、巴拉巴拉
然后就上网寻找解决办法:网上的办法挺多的,看见最多的一个是source一下,即 source ~/.bashrc,果不其然,又出现了新错误:
Error:
bash: /opt/ros/melodic/_setup_util.py: /usr/bin/python: 解释器错误: 没有那个文件或目录、、、、、、巴拉巴拉
然后继续探究解决方案,这里为大家排除一个回答最多也是最可笑的的答案:$gedit .bashrc,打开bash文件删掉最后一行中的source /opt/ros/melodic/setup.bash,这样确实是可以让错误消失,但是并没有解决任何问题!反而这句话是必须要有的!!!!所以如果出现上述错误,可以在这里加上
source /opt/ros/melodic(这里可以切换为你的ros版本)/setup.bash
如果添加上述行之后错误仍然存在,请继续往下看!
下面也是我的问题原因和解决办法,我是因为安装了python3.6导致了与安装ros时自带python2.7冲突所致,所以先查看一下自己当前的python版本,是否与文件/opt/ros/melodic/_setup_util.py中的首行 #! /usr/bin/python 保持一致,/python或者/python2便对应python2.x版本,/python3便对应python3.x版本,我这里的是用的python3.6,所以我要先将python改回python2.7,输入:
$ python
$ sudo update-alternatives --config python
<输入密码,选择你的版本>
$ python
结果如图:
接下来,在建立你系统指向的python版本的软链接:,我这里需要链接到python2.7,所以在终端输入:
$ sudo ln -s /usr/bin/python2 /usr/bin/python
成功之后,再运行roscore,你就发现成功啦!!!!!
但是!!如果创建软连接不成功,而是出现如下错误:
Error; ln: 无法创建符号链接'/usr/bin/python': 文件已存在
则是因为先前创建了其他python版本的软链接,所以冲突了,不要慌,我们只需要把先前创建的软链接删除掉,重新创建就好了:
$ sudo rm /usr/bin/python3 /usr/bin/python
<删除之前的软链接>
$ sudo ln -s /usr/bin/python2 /usr/bin/python
<创建新的软链接>
大功告成!!放心的运行你的ros命令吧!
更多推荐
所有评论(0)