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

Poetry环境中Protobuf已安装却无法导入,MLRun导入失败求解

解决MLRun导入时的Protobuf依赖问题

问题根源

你的问题主要由两个因素导致:

  • 手动指定的PyYAML wheel版本(cp39)与当前Python 3.10环境不兼容,干扰了Poetry的依赖解析逻辑,使得Protobuf未被正确安装。
  • MLRun 1.4.1对Protobuf存在隐式依赖,但由于上述兼容性问题,Poetry未自动拉取匹配的Protobuf包。

解决方案

1. 替换兼容的PyYAML依赖

将pyyaml的本地wheel依赖改为版本号声明,让Poetry自动匹配Python 3.10的兼容版本:
修改pyproject.toml中的依赖段:

[tool.poetry.dependencies]
python = "^3.10"
mlrun = "1.4.1"
pyyaml = "^5.4.1"

2. 显式添加Protobuf依赖

直接在pyproject.toml中指定MLRun 1.4.1兼容的Protobuf版本,强制Poetry安装:

[tool.poetry.dependencies]
python = "^3.10"
mlrun = "1.4.1"
pyyaml = "^5.4.1"
protobuf = ">=3.19.0,<4.0.0"

(注:MLRun 1.4.1适配3.19.x到3.20.x版本的Protobuf,也可直接指定具体版本如3.20.1)

3. 清理缓存并重新同步依赖

执行以下命令清理Poetry缓存并重新安装依赖:

poetry cache clear --all pypi
poetry install --sync

4. 确认虚拟环境激活状态

确保运行代码时已激活Poetry创建的虚拟环境:

poetry shell

或直接通过Poetry运行脚本:

poetry run python your_script.py

完成以上操作后,重新导入MLRun即可正常加载Protobuf依赖。

内容的提问来源于stack exchange,提问作者George Liu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:43:22