环境搭建:系统要求、安装Python与pip、安装CARLA包、验证安装是否成功
说实话,环境搭建这一步,劝退了很多人。
我见过不少同学,兴致勃勃下载了CARLA,结果卡在安装环节一整天。其实没那么玄乎,咱们一步步来。我个人习惯是先搞清楚「我的电脑能不能跑」,再动手装东西。
系统要求:你的电脑够不够格?
CARLA对硬件是有要求的。别指望随便一台笔记本就能流畅跑起来。我最早在一台老款MacBook上试过,结果卡成PPT,根本没法用。
先看操作系统。CARLA官方支持Windows和Ubuntu。我个人推荐Ubuntu 18.04或20.04,因为后续调试、看日志都方便。Windows也行,但有些坑——比如路径带中文、权限问题,我踩过好几次。
硬件方面,记住三个关键点:
- 显卡:至少NVIDIA GTX 1060或同级。显存建议6GB以上。我项目里用RTX 3060,跑起来还算顺畅。
- 内存:16GB起步。8GB也能跑,但加载地图时你会怀疑人生。
- 硬盘:留出至少20GB空间。CARLA包本身不小,加上资产文件,轻松上10GB。
安装Python与pip:基础中的基础
CARLA的Python API依赖Python 3.7到3.9版本。别装最新的3.11或3.12,有些依赖包还没适配。
怎么检查你电脑上有没有Python?打开终端(Windows用cmd或PowerShell),输入:
python --version
如果显示版本号,说明已经有了。如果没有,去Python官网下载对应版本。我个人建议用Python 3.8,稳定,兼容性好。
pip一般会随Python一起安装。验证一下:
pip --version
如果提示找不到pip,那就手动装一下。Windows用户记得勾选「Add Python to PATH」,不然后面有你受的。我刚开始学的时候没勾这个,结果每次都要手动指定路径,烦得很。
python -m venv carla_env 创建一个独立环境,这样不会把系统Python搞乱。你想想看,万一你同时做其他项目,依赖冲突了怎么办?
安装CARLA包:两种方式
CARLA的安装分两部分:一个是CARLA模拟器本体,一个是Python API包。
方式一:从源码编译(不推荐新手)
这种方式适合深度定制。我团队里做底层开发的同事才这么干。编译一次要一两个小时,而且很容易出错。新手别碰。
方式二:下载预编译包(推荐)
去CARLA官网下载对应系统的压缩包。解压后,里面有个 PythonAPI 文件夹,这就是我们要的。
进入 PythonAPI/carla/dist 目录,你会看到一个 .egg 文件。用pip安装它:
pip install carla-0.9.13-cp38-cp38-win_amd64.egg
注意文件名里的版本号要和你下载的CARLA版本一致。我遇到过有人下载了0.9.13的包,却装了0.9.12的API,结果一堆报错。
或者,你也可以用更现代的方式:
pip install carla
这个命令会从PyPI安装最新稳定版。但说实话,我更喜欢用本地 .egg 文件,因为版本可控,不会出现「昨天还能用,今天更新后崩了」的情况。
验证安装是否成功
装完了,怎么知道对不对?写个简单脚本测试一下。
先启动CARLA模拟器。Windows下双击 CarlaUE4.exe,Ubuntu下运行 ./CarlaUE4.sh。你会看到一个窗口弹出来,里面是空荡荡的街道。
然后打开另一个终端,运行以下Python代码:
import carla
# 连接到模拟器
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)
# 获取世界对象
world = client.get_world()
print("连接成功!当前地图:", world.get_map().name)
如果打印出地图名称,比如 Town01,那就说明安装成功了。
再进阶一点,试试能不能生成一辆车:
# 生成一辆车
blueprint_library = world.get_blueprint_library()
vehicle_bp = blueprint_library.filter('model3')[0]
spawn_point = world.get_map().get_spawn_points()[0]
vehicle = world.spawn_actor(vehicle_bp, spawn_point)
print("车辆生成成功!位置:", spawn_point.location)
看到车辆生成的信息,恭喜你,环境搭建全部完成。
嗯,到这里环境就搭好了。整个过程其实不复杂,就是细节多。你按这个流程走,应该半小时内能搞定。如果卡住了,多半是版本不匹配或者路径问题,回头检查一下就好。
可可精品资料库