4

我遵循了将包上传到 PyPI 的官方文档,以及 PyPI 自述文件中提供的信息,但每次都会收到 HTTP 400 错误:

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

我正在使用 ~/.pypirc

[distutils]
index-servers =
  pypi
  pypitest

[pypi]
username=bradaallen
password=[password]

[pypitest]
username=bradaallen
password=[password]

对于包裹,我正在使用twine version 1.9.1 (pkginfo: 1.4.1, requests: 2.12.4, setuptools: 27.2.0, requests-toolbelt: 0.8.0, tqdm: 4.14.0)

当我使用时,python setup.py sdist bdist_wheel upload我遇到了同样的问题:

Submitting dist\brad_nlp_helpers-0.1.1.tar.gz to
https://upload.pypi.org/legacy/ Upload failed (400): home_page: Invalid URI
error: Upload failed (400): home_page: Invalid URI

我没有指定存储库,因为这是 API 在上传时给出的建议。我404 error在 PyPI 推荐的链接上看到了一个,但没有看到我应该使用的替代网站!

这是我的第一个包,我在互联网上的其他地方没有看到这个错误。有什么想法:这是怎么回事?

4

3 回答 3

2

惊人。我还在Twine 的 GitHub 页面上将此作为问题发布。

事实证明,setup.py文件中的 URL 应该对应于托管代码的位置(这是有道理的)。我把我的个人网站作为 URL,我猜 Warehouse 的单元测试拒绝了我……它现在已经上传了。

再次感谢@phd!

于 2017-07-11T01:09:42.750 回答
0

就在几分钟前尝试上传一个包并遇到了这个问题。:-) 修复:升级pipsetuptools最新twine版本:

pip install -U pip setuptools twine

从以下位置删除或注释掉存储库~/.pypirc

[distutils]
index-servers =
    pypi

[pypi]
#repository: 
username: …

twine upload现在工作!

于 2017-07-09T13:45:05.680 回答
-1

当您在 setup.py 中使用 README.md 文件作为 long_description 时,PyPI 中不支持某些字符串,例如“.*”。因此,需要删除它们并重建 WHL 文件并通过麻线再次上传。

于 2021-06-23T21:34:58.763 回答