rosdep update出现调用库错误(python2.7环境下没有yaml模块)

注:因为原本是用为知笔记写的,这里复制可能效果不太好,这里给出笔记外链:https://e6757600.wiz03.com/wapp/pages/view/share/s/3Ctno00M217F2eFikT2eDvz72TTWd01hX17G293Dem2UoX_E

 

(已解决,过程均为弯路,方法见文末)运行命令及回馈错误如下图所示:

背景:由于kinetic的python环境很混乱,决定重装,在rosdep init时候提示需要执行rosdep update,执行之后得到这般。

思路:python库搜索搜索出错,前两个库的import的路径是python2.7,但是到了yaml就变成了python3.5。

解决办法:

    思路1:在python也安装pyyaml库,执行结果:

果不其然,路径路径还是搜索到了python3.5,接下来指定安装路径:

下载过程还是很正常,但是接下来就出现了错误:

分别对倒数三行额错误进行了百度,得到的结果并不如人意(①进行修改.pyx文件,这里吸取上一个ros的错误,不能对系统默认安装的文件进行修改,最坏结果不仅这个安装不上,原本能够正常运行的环境也由此破坏;②答案很少,唯一的还是用虚拟机有几个包冲突,具体解决方法是另创了一个文件夹(???);③报错并不相同,答主是由于pip版本问题;)

另外,在python2.7/dist-packages下发现pyyaml:

但是这个python2.7恐怕是刚刚错误生成的文件,在重新梳理过程之后,我发现了另外一种安装pyyaml的方法(来源于2017的老铁):

按照第3种wget的方法,我把pyyaml-3.11安装到了python2.7/dist-packages目录:

但是他接下来的语句却不是安装这个压缩包,简单尝试后,crtl+c溜了,换了别的安装方法:

本来看最后几行,感觉像是安装成功了:

但是刚刚翻来覆去截屏的时候发现:

是我们最爱的fatal error呢!说实话,心态有点崩,果不其然,执行rosdep update还是失败:

诸多搜索之后,我选择换一个思路;

    思路2:将python搜索库的优先顺序进行更换:

https://www.cnblogs.com/fengyunlsm/p/6024085.html

参考上述链接有好几种方法:

方法一是用于自己编写的python文件中进行修改(之前在YOLOv3的使用上用过),显然不适合;

方法二由于现在python2.7已经停止维护,况且系统下面还有这么多使用python3.5的项目,暂且放弃(进行了方法三之后的尝试回来跳坑)

对.bashrc的PYTHONPATH进行修改如下:

但是:

方法三:添加pth文件:

无果。

    思路三:进行新环境的创建:

首先是打算利用anaconda来创建名为py2的虚拟环境,如下:

定眼一看,错误报的:

整整6个这玩意儿,我人傻了。。这时候注意到目录并不在系统~目录,切回去,执行:

通过命令:

发现并没有yaml包,安装:

但是安装后rosdep 、依旧失败,还是原来的报错,还是原来的味道,之后用locate 文件名的方式找到了yaml的文件位置,发现和思路二里面的目录名字相差一个目录,然后把这个目录放入.bashrc文件中,执行rosdep,不再报错。。总算成功。

 

总结:

    一系列的弯路走下来,发现就是最简单的地方没有配置成功,还是学识太浅,解决方法:用locate 文件名找到库目录,然后将库目录放入.bashrc如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值