构建时如何指定setuptools版本?Poetry安装遇版本匹配报错
解决Poetry install时指定setuptools版本的问题
先修正脚本拼写错误
你build.sh里的poetry installl多打了一个l,应该改成poetry install,这可能会导致执行异常。
修正pyproject.toml的build-system配置
你给出的配置不完整,缺少数组闭合和build-backend声明,正确的完整配置应该是:
[build-system] requires = [ "setuptools >=49.0.1", "wheel" ] build-backend = "setuptools.build_meta"
不完整的配置会被Poetry忽略,导致指定的setuptools版本不生效。
强制指定setuptools版本的方法
如果修正配置后仍报错,可通过以下方式强制Poetry使用指定版本:
- 临时设置环境变量再执行install:
export SETUPTOOLS_VERSION=49.0.1 poetry install - 直接修改build.sh脚本:
release(){ export TTOX_PARALLEL_NO_SPINNER=1 export SETUPTOOLS_VERSION=49.0.1 poetry install # 后续命令 }
清除Poetry缓存
缓存残留的旧版本依赖可能导致问题,执行以下命令清除全部PyPI缓存:
poetry cache clear pypi --all
之后重新执行poetry install。
升级Poetry版本
较老版本的Poetry对build-system配置的支持可能存在缺陷,升级到最新稳定版:
poetry self update
内容的提问来源于stack exchange,提问作者Keith
相关产品推荐
相关产品推荐

