You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从源码安装修改版nuScenes-devkit报错如何解决

nuScenes-devkit 源码安装故障排查与解决

基础环境与问题背景

  • 目标安装包:基于公开nuScenes-devkit项目做了自定义修改的私有分支版本
  • 运行环境:Ubuntu 20.04 LTS、Python 3.8.10、pip 22.1.2,所有操作均在python venv创建的独立虚拟环境中执行
  • 故障表现:在setup目录下尝试多种安装命令、调整权限均安装失败

已尝试操作与对应报错

  • 操作1:在setup文件夹下执行pip install .
    核心报错:FileNotFoundError: [Errno 2] No such file or directory: '../README.md',手动通过vim ../README.md可正常访问该文件,完整报错核心片段:
ERROR: Command errored out with exit status 1:
     command: /mnt/nvme1n1/venvs/enp2/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '/tmp/pip-req-build-wfs5ujhi/setup.py'; __file__='/tmp/pip-req-build-wfs5ujhi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))' egg_info --egg-base /tmp/pip-req-build-wfs5ujhi/pip-egg-info
         cwd: /tmp/pip-req-build-wfs5ujhi/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-wfs5ujhi/setup.py", line 5, in <module>
        with open('../README.md', 'r') as fh:
    FileNotFoundError: [Errno 2] No such file or directory: '../README.md'
  • 操作2:在setup文件夹下执行python setup.py install
    核心报错:error: package directory 'python-sdk/nuscenes_devkit/egg-info' does not exist
  • 操作3:在setup文件夹下执行pip install -e .
    核心报错:元数据生成阶段失败,提示error: package directory 'python-sdk/nuscenes_devkit/egg-info' does not exist
  • 操作4:在setup文件夹下执行sudo pip install -e .
    核心报错:和操作2报错完全一致,权限调整未解决问题

故障根因

  1. README找不到的报错:执行pip install .时,pip会将当前目录的源码拷贝到临时构建目录运行setup.py,setup.py中写死的相对路径../README.md在临时构建目录下无对应文件,触发文件不存在错误。
  2. egg-info目录不存在的报错:执行安装的工作目录错误。nuScenes-devkit的setup.py所有路径配置都是以仓库根目录为基准,在setup子目录下执行安装命令时,相对路径完全错位,setuptools会把生成过程中临时创建的egg-info目录识别为待打包的源码目录,自然找不到对应路径。
  3. 加sudo执行无效的原因:sudo会默认调用系统全局的Python解释器和pip,完全绕过你创建的venv虚拟环境,和你要在虚拟环境中安装包的目标完全相悖。

正确安装步骤

  1. 切换到nuScenes-devkit仓库根目录,执行ls确认当前目录下能直接看到README.md、python-sdk、setup三个文件/文件夹,不要进入setup子目录。
  2. 清理之前失败安装生成的临时残留文件:
find . -name "*.egg-info" -type d -exec rm -rf {} +
rm -rf build/ dist/
  1. 激活你提前创建的venv虚拟环境,确认which pip返回的路径是你虚拟环境目录下的pip路径,不要加sudo。
  2. 执行安装命令:
    • 如果需要保留本地代码修改的热更新(自定义修改场景推荐用可编辑模式),执行:
    pip install -e ./setup
    
    • 如果需要做常规的静态源码安装,执行:
    pip install ./setup
    

若安装过程中提示缺少系统依赖,可提前执行以下命令安装基础编译依赖:

sudo apt update && sudo apt install -y python3-dev build-essential libgeos-dev

内容的提问来源于stack exchange,提问作者adroit.levees.0r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:36:24