You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Python 3.10下protobuf与ultralytics库冲突及适配版本咨询

解决protobuf与ultralytics库冲突问题(Python 3.10适配)

问题说明

运行AI类Python代码时出现库冲突报错,具体信息:

cannot import name 'runtime_version' from 'google.protobuf'
(C:\Users\hassan M\AppData\Local\Programs\Python\Python310\lib\site-packages\google\protobuf_init_.py)

该问题源于protobuf版本与ultralytics依赖的版本不兼容,runtime_version属性仅在特定版本的protobuf中存在。

解决方案

方案1:直接调整protobuf版本

  1. 卸载当前冲突的protobuf版本:
    pip uninstall -y protobuf
    
  2. 安装适配Python 3.10和ultralytics的指定版本:
    pip install protobuf==3.21.12
    

方案2:使用虚拟环境隔离依赖(推荐)

避免全局环境库版本混乱,创建独立虚拟环境:

  1. 创建虚拟环境:
    python -m venv ultralytics_env
    
  2. 激活虚拟环境:
    • Windows系统:
      ultralytics_env\Scripts\activate
      
    • Linux/macOS系统:
      source ultralytics_env/bin/activate
      
  3. 安装ultralytics,它会自动拉取适配的所有依赖(包括protobuf):
    pip install ultralytics==8.0.200
    

Python 3.10适配的库版本建议

  • protobuf:推荐使用3.20.0 ~ 3.21.12区间内的版本,该区间版本既兼容Python 3.10,又能满足ultralytics的依赖要求
  • ultralytics:推荐使用8.0.200及以上的8.x稳定版,这类版本对Python 3.10支持完善,且依赖管理更规范

内容的提问来源于stack exchange,提问作者Rania Arcelan

火山引擎 最新活动