【问题标题】:ROS ImportError: No module named asyncioROS ImportError:没有名为 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。我该如何解决这个问题?

【问题讨论】:

    标签: python python-2.7 python-asyncio ros catkin


    【解决方案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 库。
    猜你喜欢
    • 2020-05-11
    • 2013-03-11
    • 2012-12-07
    • 2012-05-23
    • 2019-07-29
    • 2015-07-04
    • 2014-03-15
    • 2017-12-29
    • 2014-09-12
    相关资源
    最近更新 更多