使用 twine 将包上传到 pypi:无效的 URI

Uploading package to pypi using twine: Invalid URI

我按照 official documentation 将包上传到 PyPI,以及 PyPI readme 中提供的信息,但我每次都收到 HTTP 400 错误:

$ twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy
Enter your username: Sinistag
Enter your password:
Uploading paulla.check_dns_sync-0.1.dev0.py3-none-any.whl
HTTPError: 400 Client Error: home_page: Invalid URI for url: https://upload.pypi.org/legacy

这是怎么回事?

问题出在 setup.py

中定义的包 url

Invalid URI 表示 setup() 函数中的 url 字段不是有效的 url。它应该类似于 url="https://github.com/namespace/repo" 例如

这是包代码的 url,新的 pypi repo 不接受错误的包 url。

在 twine 的回购协议中查看 this issue