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

2023-05-16

问题:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rosdep update遇到ERROR: error loading sources list: The read operation timed out问题 的相关文章

  • numpy 数组:快速填充和提取数据

    请参阅此问题底部的重要说明 我正在使用 numpy 来加速经度 纬度坐标的一些处理 不幸的是 我的 numpy 优化 使我的代码运行速度提高了大约 5 倍slowly比它在不使用 numpy 的情况下运行 瓶颈似乎在于用我的数据填充 num
  • 加载多个图像时回调的跨浏览器解决方案?

    我检查了其他问题 但它们都包含如何在加载一张特定图像时进行回调的信息 var img new Image img src images img png if img complete img onload function code to
  • 如何在 AngularJS 中检测 HTML 渲染何时完成

    我对这个课题进行了广泛的研究 但无论我做什么 我发现实现这个目标都极其困难 我想在 AngularJS Web 应用程序中完全呈现所有元素时执行代码 我想我找到了建议使用路由器和视图的解决方案 但我无法在我的情况下使用它 因为它似乎需要某些
  • 如何让 Javascript 等待所有图像加载后再继续?

    我对 Javascript 相当陌生 目前正在尝试以各种尺寸和位置显示图像 这意味着我必须先加载图像 然后才能访问宽度和高度等值 现在 这就是我面临问题的地方 我尝试依次加载图像 确保只有在完成一张图像后才会加载另一张图像 const a
  • Libc共享库如何加载到内存中并在进程之间共享?

    我想了解Libc共享库如何加载到内存中并在进程之间共享 是否有一个 libc 实例加载到内存中并在所有进程之间共享 或者是每个进程的内存中的每个 libc 实例 我不清楚 libc 如何在进程之间共享 谢谢 阿迪亚 libc 的一个实例在所
  • DataTable 服务器端仅在我有少量数据时才工作

    我正在从 json 加载传递到有关数据表表的服务器端处理 我有两种环境 一种用于测试 一种用于生产 它们具有相同的功能和数据库结构 当我在测试环境中测试新进程时 脚本加载数据没有任何问题 5行 相同的脚本不会在生产环境中加载数据 1200
  • 无法在android webview中打开twitter url

    我的 ANDROID 应用程序出现问题 我想在我的网络视图中显示 Twitter 页面 但 URL 无法打开 它不断加载 我使用的是sdk 1 6 webView getSettings setJavaScriptEnabled true
  • Android googlemaps v2完成加载事件或回调

    我想在谷歌地图加载后做一些事情 maptiles已被填充 无论如何可以实现这一点吗 正如所指出的qubz https stackoverflow com users 496625 qubz ViewTreeObserver可用于实现地图加载
  • ajax 请求完成后浏览器继续“加载”

    您已经看到过这一点 在 ajax 密集的页面上 例如 meebo com 浏览器永远不会停止 旋转 它永远不会表明它已完成加载 造成这种情况的原因是什么 是否有任何方法可以一致地告诉浏览器 无论它是什么浏览器 加载已完成 编辑 抱歉 我应该
  • Xamarin.Forms - 如何使页面上的元素绝对居中?

    我有一个使用 StackLayout 来显示内容 用户名 密码 登录按钮 的登录页面 用户单击登录按钮后 我希望在页面的绝对中心 现有 StackLayout 内容的顶部设置一个 加载 块 由于某些恼人的原因 这并不简单 这似乎是一件简单
  • 预加载图像并在加载时显示微调器

    Hy 我使用 uploadify 上传一些图像 在我在列表中显示所有图像拇指后 当我单击图像拇指时 会使用此功能在 div 中打开更大的图像 thumbs li a click function var largePath this att
  • 在 Flask 中执行耗时函数时显示“正在加载”消息

    我对 Flask 还比较陌生 总体来说还是一个网络菜鸟 但到目前为止我已经取得了一些不错的结果 现在我有一个表单 用户可以在其中输入查询 该查询被提供给一个函数 该函数可能需要 5 到 30 秒的时间才能返回结果 使用 Freebase A
  • 将数据保存和加载到文件 C++(初学者)

    我有一个包含许多不同变量的类 例如其中有一些多维向量 我听说您可以将数据直接存储和加载到文件中 但是可以到什么程度呢 例如 如果我创建此类的实例 填充它 然后将其保存到文件中 我可以以相同的方式加载它吗 就像那是如何运作的 我是一次性保存所
  • 在python中将进度值发送到进度条

    在我的游戏中我有两个模块 岛 py它将岛屿加载到我的游戏中 第二个模块是gui py它在游戏开始之前处理 GUI 小部件 我的问题是如何将 island py 模块中的进度值发送到中创建的进度栏gui py module 编辑 还可以使用加
  • android:等待连接时显示进度对话框

    我试图在启动新活动时添加一个进度对话框 该活动必须等待来自互联网的响应 目前 等待时屏幕会变黑 有谁知道它需要放置在哪里才能工作吗 这个进度对话框 ProgressDialog dialog ProgressDialog show Sear
  • Kendo Grid - 它自己的加载指示器

    Kendo grid在网格加载 分页 排序时自动提供自己的Loading指示器 它运行良好 但我不希望显示 隐藏这个内置加载指示器 如何禁用此功能 请建议我 谢谢 维诺斯 很简单 用CSS隐藏就可以了 您的选择器需要比内置 Kendo 类更
  • 如何在 Octave 中永久加载包?

    我在 Windows vista 上使用 Octave 我在代码中使用 4 个包 但是每次我重新启动八度音程时 我都必须从命令行手动加载 pkg load 有没有办法永久加载它们 以便每当 Octave 启动时它都会在其路径中找到它们 当
  • Android进度条嵌入在ui中而不是对话框中

    有没有一种方法可以在不使用对话框的情况下将进度条嵌入到 UI 中 不是以编程方式 而是使用布局 xml 文件 我猜它必须是某种动画或 可绘制 您可以使用ProgressBar widget
  • Java - 全局、可重用的加载对话框

    我正在尝试实现一个全局加载对话框 我想调用一些静态函数来显示对话框和一些静态函数来关闭它 与此同时 我正在主线程或子线程中做一些工作 我尝试以下操作 但对话框没有更新 最后一次 在再次隐藏之前 它会更新 private static Run
  • 如何在数据加载期间 IsBusy 为 true 时至少显示一次 Lottie 动画?

    On my Xamarin Forms 项目 我想显示一个洛蒂动画 during API调用或期间加载网站 in a WebView 为此 我限制了IsVisible的财产洛蒂动画 to the IsBusy我的财产视图模型 这个效果很好

随机推荐