2022.2.18 ROS安装问题sudo rosdep init & rosdep update + Traceback(most recent call last)

没有用双系统,用的虚拟机vm12,版本Ubuntu20.04,对应的ros版本noetic

对应的是python3,Ubuntu18.04对应的是python2.7,所以要注意一下版本。

1、报错

运行命令$ rospack depends1 beginner_tutorials 时,提示 :

[rospack] Error: no such package beginner_tutorials

解决方案:原来在我新建工程后,忘记了source 一下。$ source devel/setup.bash

2、报错:

在设置环境变量source devel/setup.bash会出错

报错:bash: devel/setup.bash: 没有那个文件或目录

解决方案:是因为要在catkin-ws文件夹下执行,或者改为source  ~/catkin_ws/devel/setup.bash

3、实现sudo rosdep init的问题

       a、手机热点,连接电脑,虚拟机能上网,未实现。实现的人说,用的双系统,不是虚拟机,然后手机上网后,开热点,Ubuntu连接热点,可以实现。

       b、用上面的方式上网,并通过上述链接让虚拟机也能上网,未实现。火狐浏览器可以访问,但是终端ping网站没有回应,具体原因也没有去分析,毕竟上网的网速太慢了,时有时无。

        c、解决ROS中“sudo rosdep init“和“rosdep update“超时问题的最新方法--2021年最新方法_非晚非晚的博客-CSDN博客_ros update超时新方法这个里面提到的前面加个网址,未实现,但是修改到本地是可以用的

        d、修改hosts,也试过,未实现

        注:未实现可能是我打开方式不对,大家可以都去尝试尝试,也挺好。比图修改host或者加网站,可能就是我的python语法不懂,多加了两个空格,后续会有报错的说明。

(2)上网不能链接,只能下载到本地进行链接了(可行

        具体的做法ROS安装教程[从根本上解决rosdep update失败的问题,100%成功!] - 知乎

        以下为自己的做法,部分不一样。

        首先要把rosdistro克隆下来,网址http://github.com/ros/rosdistro.git,我是用的github desktop的下载下来,然后将rosdistro复制到虚拟机路径/home/yourname/rosdistro里面的,可在文件用Ctrl+L,看路径是什么,yourname要替换掉的。

        网上链接内容都是一样的,但是这里需要改了,为了下面的rosdep update。最好不要复制,自己慢慢敲代码,防止代码复制出错。(后面就出错了)

创建了20-default.list后,最后一条命令是编辑命令,输入如下内容:

# os-specific listings first
yaml file:///home/zjl/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/zjl/rosdistro/rosdep/base.yaml
yaml file:///home/zjl/rosdistro/rosdep/python.yaml
yaml file:///home/zjl/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/zjl/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

zjl就是yourname,每个人不一样,要换掉,找到这个文件。

上面链接说的有几个__init__.py文件,我新装的虚拟机不存在这个问题,所以没试过。

        这个改完了,基本sudo rosdep init基本就解决了,解决的意义不是说你输入命令就可以运行了,我的输入命令仍然不行反正,但是实际是可以使用了,我也不懂其中的道理,linux的小白,可能就是一个更新索引正确了就OK吧。

3、解决rosdep update

1、上述已经把链接都放入了20-default.list中,所以需要修改的带了raw.githubusercontent.com网站的文件,全部改到本地索引,修改的位置网上都有,可以查询,大致是如下几个,第2个sources_list.py和第4个github.py好像不用修改也成功了???!!!

其中的python2.7要改为python3,因为用的Ubuntu20.04,对应版本python3.

修改的内容是用本地路径替换掉raw.githubusercontent.com

 

 很神奇。。。。

 所以文件有

1、cd /home/yourname/rosdistro/rosdep/sources.list.d/20-default.list(这个是本地也要修改)

2、cd /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py

3、cd /usr/lib/python3/dist-packages/rosdep2/rep3.py

4、cd /usr/lib/python3/dist-packages/rosdistro/__init__.py

5、cd /etc/ros/rosdep/sources.list.d/20-default.list(这个在上面就改了,库函数需要手动新建的)

致命错误:卡了3天,一直报错,Traceback(most recent call last)

 个人没学过python,所以对这种错误不敏感,网页查询了几个原因,都没能实现,

1、比如缺少库函数,(可能并不是真正的原因)成功解决File "frozen importlib._bootstrap", line 219, in _call_with_frames_removed ImportError: DLL lo - 灰信网(软件开发博客聚合)

         主要是还没安装过库,所以学了pip的安装以及安装库,先安装pip,sudo apt-get install pip,然后通过pip安装tensorflow库函数,几百兆呀,还好公司网络好,不然就坑了,安装好了以后,仍然报错。

2、这一步卡了好几天,没办法,重装Ubuntu都上了,到了这一步就是出问题,直到看到下面的提醒,非常感谢热心的小伙伴

python报"IndentationError: unexpected indent"的解决方法._wuxiaobingandbob的专栏-CSDN博客_unexpected

原来是空格的问题,然后去找了所有修改的函数,都被空格位移了两格,个人习惯代码不置顶,linux也不会提醒这个,所以坑了,如果在pyCharm里面可能会提醒。

 第69行被我用空格空了两格,所以一直报错,这个也对应了上面报错的最后一个函数,IndentationError: unexpected indent上面一个,正确的如下

         回头看一下这个报错,其实可以先查询IndentationError: unexpected indent,看是什么类型的错误,

什么是异常处理,Python常见异常类型(入门必读)

查错的过程中有在Stack Overflow上查询有提醒,这个报错就是代码里面有错误,但是没提醒空格的问题,惨。最后修改完成,成功更新。

 附参考链接:

rosdep init/update 解决方法_CCsherlock的博客-CSDN博客_rosdep update

5、卸载ros的问题,这是没办法重装Ubuntu前清理的部分思路

卸载 Ubuntu 16.04 Kinetic版本ROS_jacka654321的博客-CSDN博客_ubuntu16.04卸载ros

总结:用了一个星期装系统,也是对自己无语,仅此记录,多多学习。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值