前言:之前我一直以为把carla模拟器(carla simulator)下载下来以后,carla所有的功能就已经
具备了,不管是创建【客户端】/【世界】/【NPC】都是自带下来的了,所以在我跑的程
序出现报错【no module named carla】时我十分困惑,明明我就是在我搭建的【虚拟
环境carla_0910】中跑这个demo的,为何【import 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】版本
【并未尝试该方法,不知道是否奏效】
解释: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博客
他多提了2种方法(在Ubuntu中):
1.使用终端命令多加一个环境变量
2.直接在环境变量的那个列表中添加路径