执行twine上传Python包时提示用户名密码认证不支持,求排查
问题原因及解决方法
核心错误原因
PyPI已经彻底停用了用户名+密码的认证方式,必须改用API Token进行认证,这是你报错的直接原因。
你的~/pypirc配置问题及修正
你的配置里有两处不符合当前PyPI认证要求的地方:
- 所有指向PyPI的仓库配置,用户名不能填自己的账号名,必须固定写
__token__ - 密码字段要填你在PyPI生成的完整API Token(你当前填的
pypi-XXXXX-应该就是这个Token的开头,确保填完整即可)
修正后的~/pypirc配置如下:
[distutils] index-servers = pypi cluster-experiments [pypi] username = __token__ password = pypi-XXXXX- # 替换成你的完整API Token [cluster-experiments] repository = https://upload.pypi.org/legacy/ username = __token__ password = pypi-XXXXX- # 同样使用你的API Token
额外提示
如果cluster-experiments这个仓库其实就是指向PyPI的,那完全可以删掉这个配置段,直接使用默认的[pypi]配置即可,因为https://upload.pypi.org/legacy/是PyPI的旧上传端点,现在官方推荐用默认端点,twine会自动处理。
内容的提问来源于stack exchange,提问作者David Masip
相关产品推荐
相关产品推荐

