Python 无法将包上载到PyPI:410

Python 无法将包上载到PyPI:410,python,pypi,Python,Pypi,之后,我尝试像往常一样使用命令将包上载到PyPI时出错: python2.7 setup.py sdist上传 错误消息是: Upload failed(410):消失(此API已被弃用,并已从旧式PyPI中删除,以便使用PyPI的新PyPI.org实现中提供的API(位于https://pypi.org/)。有关将此API的使用迁移到PyPI.org的更多信息,请参阅https://packaging.python.org/guides/migrating-to-pypi-org/#uploa

之后,我尝试像往常一样使用命令将包上载到PyPI时出错:

python2.7 setup.py sdist上传

错误消息是:

Upload failed(410):消失(此API已被弃用,并已从旧式PyPI中删除,以便使用PyPI的新PyPI.org实现中提供的API(位于https://pypi.org/)。有关将此API的使用迁移到PyPI.org的更多信息,请参阅https://packaging.python.org/guides/migrating-to-pypi-org/#uploading. 有关此API的日落的更多信息,请参阅https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html)

我研究了信息中提到的解决方案,然后用谷歌搜索了一下。不幸的是,我找到的解决方案不起作用,包括更新我的本地
~/.pypirc
文件。像这样:

[distutils]
index-servers =
    pypi

[pypi]
repository:https://pypi.python.org/pypi   or  repository:https://upload.pypi.org/legacy/
username:yourusername
password:yourpassword

我仍然收到相同的错误消息。我该怎么办?

升级到最新的pip和设置工具;安装捆绳:

pip install -U pip setuptools twine
编辑
~/.pypirc
并注释掉或删除
存储库

[pypi]
#repository:https://pypi.python.org/pypi
使用twine从包含模块源、setup.py和其他文件的文件夹中将模块上载到pypi:

python setup.py sdist
twine upload dist/*

请参见

如果您正在寻找旧版解决方案,请尝试将
~/.pypirc
文件更新到此版本

[distutils]
index-servers =
    pypi

[pypi]
repository: https://upload.pypi.org/legacy/
username: username
password: password
跑步

python setup.py sdist上传-r pypi

我不确定它是否能马上工作。因为我做了很多事情来让它工作,比如

  • 同时更新python和python3(不过我仍然使用2.7.12和3.5.2)
  • 如果您的系统尚未安装,请安装
    twine
  • 更新
    pip
    setuptools
    twine
    per的建议
  • 另外
    pip3安装-U pip setuptools
    可能会有所帮助

我建议使用绳线

只需安装它:

pip install twine
简单地做:

twine upload dist/*
注意:从项目的根目录执行此操作


谢谢,这解决了我的问题。另外,我需要先运行
python setup.py sdist
twine upload dist/*
之前创建一些dist/*文件。我希望这个答案对其他人有用。谢谢大家,当我遇到类似的问题时,这让我受益匪浅。一个额外的细节是,您可能需要确保您的Python版本为2.7.9+,否则(对我来说)
twine upload…
命令会因SSL/TLS错误而失败。最好根本不要指定存储库,让twine决定上载到哪里。根据官方指南:“您应该编辑~/.pypirc,以便它删除对URL的任何明确提及。”在Python2.7.10(macOS)上,我遇到以下错误:
OSError:[Errno 2]没有这样的文件或目录:'/Library/Python/2.7/site packages/setuptools-20.3.1-py2.7.egg'
测试站点的新url是什么旧的:在这里找到:
Python setup.py register
Python setup.py upload
都是。不要使用它们。是的,我现在也在使用twine。我想我是在过渡时期发布的