Carla自动驾驶模拟器安装报错:metadata-generation-failed问题求助
解决Carla安装中的
AttributeError: module 'platform' has no attribute 'dist'及依赖冲突问题 问题核心
- 你安装的Carla 0.9.5版本的
setup.py调用了Python 3.10及以上版本已废弃的platform.dist()方法,导致元数据生成失败。 - 强制降级setuptools会与Anaconda环境中的现有包(如anaconda-client、spyder)产生版本冲突。
推荐方案:用虚拟环境隔离依赖
虚拟环境可以完全隔离Carla所需的旧版本依赖,不会影响全局Anaconda环境:
- 创建Python 3.9虚拟环境(Python 3.9仍保留
platform.dist(),适配Carla 0.9.5):python3.9 -m venv carla_env - 激活虚拟环境:
# Linux/macOS source carla_env/bin/activate # Windows carla_env\Scripts\activate - 安装适配的setuptools和Carla:
pip install setuptools==47.3.1 pip install carla==0.9.5 - 使用完成后退出虚拟环境:
deactivate
备选方案1:修改Carla源码安装
如果必须在现有环境安装Carla 0.9.5,可以手动修复源码中的废弃API问题:
- 下载Carla 0.9.5源码包:
pip download carla==0.9.5 --no-deps - 解压下载的
carla-0.9.5.tar.gz,打开其中的setup.py文件,找到以下代码:linux_distro = platform.dist()[0] # pylint: disable=W1505 - 将其替换为兼容Python 3.10+的代码(需要先安装
distro库):import distro linux_distro = distro.id() - 安装依赖并执行本地安装:
pip install distro cd carla-0.9.5 pip install .
备选方案2:升级到新版Carla
Carla 0.9.13及以上版本已经修复了platform.dist()的兼容问题,无需降级setuptools,直接安装新版本即可:
pip install carla==0.9.13 # 可替换为更高稳定版本
内容的提问来源于stack exchange,提问作者Jasper_M
相关产品推荐
相关产品推荐

