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

编译libvirt时出现ImportError: cannot import name 'metadata'错误如何解决

报错根因

本次报错的核心是rst2html5工具的依赖不匹配:你当前安装的rst2html5版本过高,依赖仅Python 3.8及以上版本内置的importlib.metadata模块,而你环境中rst2html5绑定的是Python 3.6运行环境,该版本没有内置这个模块。你之前升级Python 3.8未生效的原因大概率是rst2html5还是基于旧的Python 3.6环境安装的,没有和新的Python 3.8版本绑定;而安装指定版本jsonschema的方案和本次报错无关,无法解决问题。

解决方案

方案1:关闭文档编译(优先推荐)

如果不需要编译生成libvirt官方文档,可在meson配置阶段直接关闭文档生成选项,跳过依赖检查:

meson setup build -Ddocs=disabled

配置完成后再执行ninja -C build即可正常编译,不会触发文档生成相关的流程。

方案2:修复rst2html5依赖(需要生成文档时使用)

  • 先卸载当前已安装的高版本rst2html5
pip3 uninstall rst2html5 -y
  • 安装适配Python 3.6的兼容组件和低版本rst2html5
pip3 install importlib-metadata rst2html5==1.9.4
  • 若你已经升级到Python 3.8,可直接用对应版本的pip重装rst2html5适配新环境
pip3.8 install rst2html5

修复完成后重新执行ninja编译即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:18:04