Ubuntu20.04编译Carla0.9.13实战:从环境配置到资源下载的完整避坑指南

张开发
2026/4/16 3:43:29 15 分钟阅读

分享文章

Ubuntu20.04编译Carla0.9.13实战:从环境配置到资源下载的完整避坑指南
1. 环境准备Ubuntu20.04基础配置在开始编译Carla0.9.13之前确保你的Ubuntu20.04系统已经完成基础环境配置。我实测发现跳过这一步会导致后续编译过程中出现各种依赖缺失问题。首先打开终端执行系统更新sudo apt update sudo apt upgrade -y接下来安装必备工具链这里有个坑需要注意Ubuntu20.04默认的gcc版本是9.4.0但Carla0.9.13需要gcc-7或gcc-8。我建议安装gcc-8和g-8sudo apt install -y gcc-8 g-8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8 sudo update-alternatives --install /usr/bin/g g /usr/bin/g-8 8验证版本是否正确gcc --version # 应该显示8.x.x g --version # 应该显示8.x.x注意如果你之前安装过其他版本的gcc可能需要手动切换默认版本。使用sudo update-alternatives --config gcc选择gcc-8对应的编号即可。2. Python虚拟环境搭建Carla0.9.13对Python版本有严格要求官方推荐Python3.7。我强烈建议使用conda创建独立环境避免与系统Python产生冲突。以下是详细步骤# 安装miniconda如果尚未安装 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda source ~/miniconda/bin/activate # 创建Python3.7环境 conda create -n carla python3.7 -y conda activate carla验证环境是否正确python --version # 应该显示3.7.x which python # 路径应包含carla环境名我遇到过的一个典型错误是在base环境直接操作导致后续编译失败。记住所有操作都必须在carla虚拟环境中进行可以在终端提示符前看到(carla)标识。3. 依赖安装与源码获取现在开始安装编译所需的依赖项。这些包有些是系统级依赖有些是Python包注意区分# 系统依赖 sudo apt install -y \ build-essential \ clang-8 \ lld-8 \ cmake \ ninja-build \ libvulkan1 \ python3-dev \ python3-pip \ libpng-dev \ libtiff5-dev \ libjpeg-dev \ tcl-dev \ libssl-dev \ libffi-dev \ libxml2-dev \ libxslt1-dev \ zlib1g-dev \ libomp-dev # Python依赖 pip install --upgrade pip pip install \ setuptools \ wheel \ numpy \ pygame \ networkx2.2 \ shapely \ matplotlib \ python-ephem \ xmlschema1.0.18 \ psutil \ lxml \ simplejson获取Carla0.9.13源码建议使用国内镜像加速git clone --branch 0.9.13 https://gitee.com/mirrors/CARLA.git carla cd carla git submodule update --init提示如果git clone速度慢可以尝试替换为gitee镜像源。我在实测中发现原始仓库有时连接不稳定国内开发者建议使用镜像源。4. 解决资源下载问题运行Update.sh时最常见的错误就是资源下载失败。原始链接carla-assets.s3.amazonaws.com经常无法访问这是我踩过最大的坑。以下是两种经过验证的解决方案4.1 方法一修改Update.sh脚本用文本编辑器打开Update.sh找到第50行左右不同版本可能略有差异# 原始内容 CONTENT_URLhttp://carla-assets.s3.amazonaws.com/20211112_d5cfa12.tar.gz # 修改为南方科技大学镜像源 CONTENT_URLhttps://mirrors.sustech.edu.cn/carla/carla_content/20211112_d5cfa12.tar.gz保存后给脚本执行权限并运行chmod x Update.sh ./Update.sh4.2 方法二手动下载资源如果修改脚本后仍然下载失败可以直接通过浏览器下载访问https://mirrors.sustech.edu.cn/carla/carla_content/下载20211112_d5cfa12.tar.gz文件解压到指定目录tar -xzvf 20211112_d5cfa12.tar.gz -C ~/carla/Unreal/CarlaUE4/Content/Carla我建议优先使用方法二因为国内镜像下载速度通常能达到10MB/s以上而通过脚本下载经常中断。5. 编译与安装完成资源下载后终于可以开始编译了。这个过程比较耗时约2-4小时取决于硬件配置建议在screen或tmux会话中运行make PythonAPI # 编译Python接口 make launch # 编译UE4引擎编译过程中可能遇到的几个典型问题及解决方案内存不足如果系统内存小于16GB建议增加swap空间sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile虚幻引擎编译卡住尝试清理缓存后重新编译make clean make launch -j $(nproc)PythonAPI报错检查是否在正确的虚拟环境中并确认所有依赖已安装conda activate carla pip list | grep numpy # 确认关键包存在编译成功后你会看到类似输出[Progress] 100% [Success] CarlaUE4 project files have been generated6. 验证安装结果最后一步是验证安装是否成功。启动Carla服务端./CarlaUE4.sh -quality-levelLow # 低画质模式节省资源在另一个终端中运行Python客户端测试import carla client carla.Client(localhost, 2000) world client.get_world() print(world.get_map().name) # 应该输出地图名称如果看到地图信息且没有报错恭喜你已经成功搭建Carla0.9.13环境。我建议首次运行时先测试基础功能# 生成一辆特斯拉车辆 blueprint_library world.get_blueprint_library() tesla_bp blueprint_library.find(vehicle.tesla.model3) spawn_point world.get_map().get_spawn_points()[0] vehicle world.spawn_actor(tesla_bp, spawn_point)7. 常见问题排查根据我的实战经验以下是几个高频问题及解决方法ImportError: No module named carla# 确保PythonAPI已正确安装到虚拟环境 cd PythonAPI/carla/dist pip install carla-0.9.13-py3.7-linux-x86_64.eggUE4崩溃或黑屏检查显卡驱动是否安装正确nvidia-smi尝试降低画质./CarlaUE4.sh -quality-levelLow传感器数据异常确认Python客户端与服务器版本匹配都是0.9.13更新显卡驱动和Vulkan支持库ROS桥接失败检查ROS环境是否使用Python3.7重新编译ROS bridgecd ~/carla/ros-bridge catkin_make记得每次启动Carla前都要激活conda环境这个细节问题浪费了我不少时间。如果遇到其他问题建议查看~/carla/Unreal/CarlaUE4/Saved/Logs下的日志文件。

更多文章