通过Travis CI部署到PyPi时,出现以下错误:
HTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/
我已遵循pypi deployment的Travis CI文档,并设置了我的PyPI用户名和密码,并根据password encryption docs对其进行了加密。该密码没有任何可转义的字符,但是无论如何我都尝试转义所有字符。
似乎没有任何作用,有什么建议吗?
Travis CI配置的相关部分是:
- provider: pypi
on:
branch: master
tags: true
user: "<<username>>"
password:
secure: "<<encrypted password>>"
distributions: "sdist bdist_wheel"
skip_existing: true
在Travis运行preparing deploy
和deploying the application
之前,它似乎已成功进行身份验证。然而,完成上传后,它会弹出403无效的身份验证错误:
Installing deploy dependencies
...
Authenticated as <<username>>
Preparing deploy
...
Deploying application
...
Uploading distributions to https://upload.pypi.org/legacy/
Uploading example-package-py3-none-any.whl
100%|██████████| 41.0k/41.0k [00:00<00:00, 90.3kB/s]
NOTE: Try --verbose to see response content.
HTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/
答案 0 :(得分:3)
在与[0, 1, 2, 3]
的支持人员联系后,他们指出,该存储库首先针对travis-ci
存在,而不是travis-ci.org
。这为身份验证带来了问题。
解决方案是针对travis-ci.com
显式运行travis encrypt
:
travis-ci.com
debug标志显然是可选的,并在终端中提供了一些附加信息。
答案 1 :(得分:0)
密码只能是字母数字字符。
在配置中丢失“服务器”。
server: https://upload.pypi.org/legacy