笔记20:报错【no module named carla】的个人理解

前言:之前我一直以为把carla模拟器(carla simulator)下载下来以后,carla所有的功能就已经

           具备了,不管是创建【客户端】/【世界】/【NPC】都是自带下来的了,所以在我跑的程

           序出现报错【no module named carla】时我十分困惑,明明我就是在我搭建的【虚拟

           环境carla_0910】中跑这个demo的,为何【import carla】会出现报错呢?


  • carla模拟器和carla软件包到底是个什么关系?

解释 :报错【No module named carla】表明你的 Python 环境中找不到名为 "carla" 的【模块】

            虽然你已经安装了 Carla 模拟器,但【模拟器本身】并【不包含】【可供 Python 使用】

            的【模块】

(1)Carla 模拟器是一个独立的应用程序,用于运行和模拟自动驾驶相关的场景,他就相当于

          一个带着虚幻引擎的GUI界面(我自己的理解)。然而如果你想在【Python脚本中使用】

          【Carla 提供的功能】,你需要安装 Carla 的 Python 软件包

(2)Carla 提供了一个 Python 软件包,其中【包含了与模拟器交互所需的模块接口】。通

          过安装 Carla 软件包,你可以在你的 Python 环境中导入和使用 "carla" 模块,从而与

          Carla模拟器进行交互。


  • 如何解决这个问题?

方法1:将carla中【PythonAPI\carla\dist】路径下的【.egg】文件加到解释器所要搜索的路径中

import sys
try:
    sys.path.append('D:\work_software\Carla\Carla_0.9.10\CARLA_0.9.10\WindowsNoEditor\PythonAPI\carla\dist\carla-0.9.10-py3.7-win-amd64.egg')

如果你成功安装了 Carla 的 .egg 文件(注:这个 .egg 文件本来就是下载 carla 的时候自带的,并不需要单独下载),并将其【所在的路径】添加到 【Python 解释器的模块搜索路径中】,那么当你导入 carla 模块时,Python 解释器会在 .egg 文件中找到并加载相应的代码

方法2:找到含有对应版本的 carla 软件包的软件源,使用【pip install carla==0.9.10 -i http://.....

             】即利用参数【-i】指定从哪个软件源安装这个包

注意:PyPi这个源里面只有 carla 的【0.9.5】【0.9.12】【0.9.13】【0.9.14】版本

           我在我的国内镜像源里面也没有找到我要的【0.9.10】版本

          【并未尝试该方法,不知道是否奏效】

补充:解释为什么笔记20:报错【no module named carla】的个人理解_第1张图片


  • carla自带的.egg文件到底是什么

解释:Carla 中的【.egg】文件是一种【特定的 Python 软件包格式】,它是由 setuptools 库提

           供的一种打包和分发 Python 代码的方式。

           .egg 文件是一种扩展名为【.egg】的【压缩文件】,它【包含】了一个或多个 Python

            模块和相关资源,可以被 Python 解释器直接加载和使用

补充:.egg 文件是以 ".egg" 为扩展名的 ZIP 归档文件,其中包含了 Python 代码和资源文件

            它可以包含 Python 模块、子包、依赖项、配置文件、图像、数据文件等。通常,.egg

            文件还会包含一个描述元数据的文件,其中包括软件包的名称、版本、作者等信息。

            使用 .egg 格式可以使 Python 软件包更易于分发和安装。当你安装一个 .egg 文件时,它

            会被解压并将其中的模块和资源安装到适当的位置,使得你可以在你的 Python 环境中使

            用这些模块。


昊哥这么说的:(在Ubuntu上安装的)

CARLA平台+Q-learning的尝试(gym-carla)_蛋总的快乐生活的博客-CSDN博客

笔记20:报错【no module named carla】的个人理解_第2张图片

笔记20:报错【no module named carla】的个人理解_第3张图片

 他多提了2种方法(在Ubuntu中):

1.使用终端命令多加一个环境变量

2.直接在环境变量的那个列表中添加路径

你可能感兴趣的:(入门系列,笔记)