如何排查导致Sphinx版本被固定的子依赖项严格上限?
定位导致Sphinx版本受限的依赖项
以下是几种实用方法,帮你找出哪个直接/间接依赖项限制了Sphinx的版本:
用依赖树工具梳理完整依赖链
先安装pipdeptree工具:pip install pipdeptree运行命令查看所有与Sphinx相关的依赖及版本约束:
pipdeptree --package sphinx输出会列出所有依赖Sphinx的包,以及每个包对Sphinx的版本要求,从中能找到带有版本上限(如
<6.0或<=5.3.0)的条目。尝试安装最新Sphinx并查看冲突日志
直接尝试安装目标版本的Sphinx,开启verbose模式获取详细冲突信息:pip install sphinx==7.0.2 -v输出会明确提示哪个依赖项阻止了新版本安装,以及具体的版本约束原因。
检查单个依赖项的元数据
对你列表中的Sphinx相关依赖(如numpydoc、myst-nb、sphinx-autoapi等),用以下命令查看其依赖要求:pip show <依赖包名>在
Requires-Dist字段中,查看是否包含对Sphinx的版本上限限制。如果是间接依赖(比如pydata-sphinx-theme),可进一步检查该包的依赖信息:pip show pydata-sphinx-theme查看依赖包的配置文件
若能获取依赖包的源代码,检查其pyproject.toml、setup.py或setup.cfg文件,直接查找对Sphinx的版本约束定义。
内容的提问来源于stack exchange,提问作者Pierrick Rambaud
相关产品推荐
相关产品推荐

