ROS ImportError:没有名为 asyncio 的模块

Posted

技术标签:

【中文标题】ROS ImportError:没有名为 asyncio 的模块【英文标题】:ROS ImportError: No module named asyncio 【发布时间】:2020-04-02 17:42:43 【问题描述】:

错误图片

我最近在 Windows 中安装了 ROS(Melodic)。但是使用任何 catkin_tools 命令都会显示以下错误:ImportError: No module named asyncio。我正在使用 Python 2.7。我已经搜索过它,似乎 Python 3.5+ 在它的库中有这个 asyncio。但是标准安装(在 ROS 网站上给出)下载的是 choclaty 和 python27amd64。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

正如我在asyncio github 中看到的那样,asyncio 仅支持 Python3:

asyncio 需要 Python 3.3 或更高版本! asyncio 模块是 Python 3.4 以来 Python 标准库的一部分。

所以你将无法在python2.7中使用它

【讨论】:

您好,非常感谢您的回复。如指定的,在我在 Windows 中完成安装 ROS(melodic) 后,命令 python --version 告诉我 Python 的版本是 2.7。我尝试使用 choco upgrade python 命令对其进行升级,但 python --version 命令仍然显示它仍然是 Python 2.7。因此python的版本不在我的控制之下。我刚刚按照 ros.org 上给出的安装程序进行操作。 啊问题是Python2不能升级到Python3。它们是完全不同的程序。实际上 Python2 是遗留的,不会被支持 - 在 ROS2 中 Python3 是必需的。也许可以替换 asyncio? 不,不能那样做。正如我所说,安装过程会下载名为 Python 2.7amd64 的文件。我不是选择它的人,并且在 catkin_tools src 文件中使用了 asyncio 库。

以上是关于ROS ImportError:没有名为 asyncio 的模块的主要内容,如果未能解决你的问题,请参考以下文章

s3fs 和 fsspec 版本的工作组合是啥? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync”

为啥 ImportError:没有名为 lightgbm 的模块

ImportError:没有名为瓶子的模块

ImportError:没有名为枚举的模块

ImportError:没有名为“appdirs”的模块

ImportError:没有名为 websocket 的模块