python
module_error
ai_generated
partial
pkg_resources.VersionConflict: (importlib-metadata 4.0.0 (/usr/lib/python3/dist-packages), Requirement.parse('importlib-metadata>=4.6.4'))
ID: python/importlib-metadata-version-conflict
80%修复率
84%置信度
0证据数
2024-04-15首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.8 | active | — | — | — |
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
根因分析
系统(发行版)管理的 importlib-metadata 版本低于某个包的要求,pkg_resources 因已安装版本不满足要求而拒绝继续。
English
A system-managed (distro) importlib-metadata is older than what a package requires, and pkg_resources refuses to proceed because the installed version does not satisfy the requirement.
解决方案
-
90% 成功率
Use a virtualenv so pip's importlib-metadata shadows the system one: `python -m venv .venv && . .venv/bin/activate && pip install -U importlib-metadata`.
-
75% 成功率
Upgrade in user space: `pip install --user -U 'importlib-metadata>=4.6.4'` and ensure `~/.local/lib` precedes `/usr/lib/python3/dist-packages` on sys.path.
无效尝试
常见但无效的做法:
-
60% 失败
Leaves two copies on sys.path and the distro copy may still shadow the new one.
-
70% 失败
Breaks other system tools that depend on it.