rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

问题:

ERROR: error loading sources list:
    The read operation timed out

解决方法1(这个方法正常操作肯定能成功):

运用此方法时,有些文件会多次打开、编辑,所以读者可以通读一下“解决方法1”,针对某个文件要编辑的几个部分统一进行编辑。当然,按部就班的执行以下步骤同样没有问题
此方法中心思想为更改下载资源
建议用gedit编辑器编辑文件,gedit编辑器相较于Vim编辑器更加简便明了,并且加上sudo可以修改只读文件
指令为:

sudo gedit+文件名
eg:sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

另:修改文件权限指令为:

sudo chmod 777 /文件夹
本次修改权限需要用到的指令:sudo chmod 777 /etc
准备工作完毕,以下为需要修改的文件:

1.修改rosdep下载资源的脚本文件sources_list.py(311行左右):

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

url="https://ghproxy.com/"+url

添加到脚本中的download_rosdep_data()函数中,以应用ghproxy代理服务(可能不在311行,要找到对应函数名)
更改后内容如下:
请添加图片描述
2.同样的方法修改__init__.py(69行左右):

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py 

里面DEFAULT_INDEX_URL的参数
将网址改为

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

请添加图片描述
3.同样的方法把“https://ghproxy.com/”添加到gbpdistro_support.py(36行左右)、sources_list.py(72行左右)、rep3.py(39行左右) 、github.py(68行 119行左右)文件的https://raw~前:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py  
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py	
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 

形式如
请添加图片描述
4.在gbpdistro_support.py文件( 204行左右):

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 

添加如下代码:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

请添加图片描述
修改后执行

sudo apt-get update
rosdep update

进行更新

解决方法2:

硬件解决
连手机热点

解决方法3:

此方法中心思想为加长访问时间,费时费力,不建议尝试
分别更改 /usr/lib/python2.7/dist-packages/rosdep2/文件夹下三个文件中下载时间,即“DOWNLOAD_TIMEOUT = 15.0”的值,把默认值“15”改大一些。
(本人改大到300s才成功)

文件名称:
sources_list.py(75行)
gbpdistro_support.py(40行)
rep3.py(42行)

具体操作如下:
输入(此方法用的编辑器为“Vim”,用gedit编辑器也可)

sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

打开sources_list.py,通过键盘将光标放到要修改处(“DOWNLOAD_TIMEOUT=15”这一行),单击i进入编辑,修改后输入Ctrl+C保存,“:wq”(wq前有冒号)退出
同样方法修改另两个文件

sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

修改后执行

sudo apt-get update
rosdep update

进行更新
以上操作为Vim编辑器下

更新成功,看到如下这个界面,就很舒服了

运行小乌龟测试:
打开三个终端,分别输入

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

看见那只小王八就成功了

其他问题可参考我的另两篇文章
链接: link.https://blog.csdn.net/DDonggggg/article/details/115456350
链接: link.https://blog.csdn.net/DDonggggg/article/details/115440446?spm=1001.2014.3001.5501

成功了记得评论一下、点个小心心,让我知道帮到了你

来源:DD᭄ꦿng

物联沃分享整理
物联沃-IOTWORD物联网 » rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

发表评论