编译CARLA 0.9.14 PythonAPI时遇AttributeError错误求助
CARLA 0.9.14编译PythonAPI报错AttributeError的解决方法
问题场景
Ubuntu 20.04.5系统下源码编译CARLA 0.9.14,配置好Unreal Engine环境变量后执行make PythonAPI步骤失败。本地Python版本3.7.6,使用Python3.8.10的虚拟环境py3_3.8.10,尝试添加make PythonAPI ARGS="--python-version=3.7"或3.8参数后仍报相同错误。
核心错误信息
Traceback (most recent call last): File "setup.py", line 163, in setup( File "/home/bld/.local/lib/python3.8/site-packages/setuptools/__init__.py", line 160, in setup _install_setup_requires(attrs) File "/home/bld/.local/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in _install_setup_requires dist.parse_config_files(ignore_option_errors=True) File "/home/bld/.local/lib/python3.8/site-packages/setuptools/dist.py", line 689, in parse_config_files parse_configuration(self, self.command_options, File "/home/bld/.local/lib/python3.8/site-packages/setuptools/config/__init__.py", line 29, in _wrapper return fn(*args, **kwargs) File "/home/bld/.local/lib/python3.8/site-packages/setuptools/config/setupcfg.py", line 187, in parse_configuration distribution._referenced_files.update( AttributeError: 'MinimalDistribution' object has no attribute '_referenced_files' make: *** [Util/BuildTools/Linux.mk:87: PythonAPI] Error 1
解决方法
这个错误源于当前虚拟环境中setuptools版本过高,CARLA 0.9.14的setup.py不兼容高版本setuptools的接口变更,只需降级setuptools到兼容版本即可:
- 激活目标虚拟环境:
source py3_3.8.10/bin/activate
- 降级setuptools到58.0.4版本(经测试该版本与CARLA 0.9.14完全兼容):
pip install setuptools==58.0.4
- 重新执行PythonAPI编译命令:
make PythonAPI ARGS="--python-version=3.8"
原因说明
高版本setuptools对MinimalDistribution类进行了重构,移除了_referenced_files属性,而CARLA 0.9.14的编译脚本仍依赖该旧属性,因此触发AttributeError。降级到58.0.4版本可恢复该属性,使编译流程正常执行。
内容的提问来源于stack exchange,提问作者Zijun He
相关产品推荐
相关产品推荐

