迁移到 PyPI.org¶
- 页面状态:
已废弃
pypi.org 是 PyPI 的新版本,它经过重写并已取代旧版 PyPI 代码库。它是人们预期会使用的默认 PyPI 版本。以下是人们与 PyPI.org
交互所需的工具和流程。
发布版本¶
pypi.org
自 2016 年 9 月起成为默认的上传平台。
通过 pypi.python.org
的上传已于 2017 年 7 月 3 日 关闭。截至 2018 年 4 月 13 日,pypi.org
是 PyPI 的 URL。
迁移到 PyPI.org 进行上传的推荐方法是确保您使用的上传工具版本足够新。
默认上传设置在以下版本中切换到 pypi.org
twine
1.8.0setuptools
27.0.0Python 2.7.13(
distutils
更新)Python 3.4.6(
distutils
更新)Python 3.5.3(
distutils
更新)Python 3.6.0(
distutils
更新)
除了确保您的工具版本足够新以切换到工具的默认设置外,您还必须确保未将工具配置为覆盖其默认上传 URL。通常这配置在 $HOME/.pypirc
文件中。如果您看到类似以下的文件
[distutils]
index-servers =
pypi
[pypi]
repository = https://pypi.python.org/pypi
username = <your PyPI username>
password = <your PyPI username>
那么只需删除以 repository
开头的行,您将使用上传工具的默认 URL。
如果由于某种原因您无法将工具升级到默认使用 PyPI.org 的版本,那么您可以编辑 $HOME/.pypirc
并包含 repository:
行,但使用值 https://upload.pypi.org/legacy/
[distutils]
index-servers =
pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = <your PyPI username>
password = <your PyPI password>
(此 URL 中的 legacy
指的是这是新服务器实现对旧服务器实现上传 API 的仿真。)
有关更多详细信息,请参阅 .pypirc
的规范。
注册包名和元数据¶
在第一次上传之前,不再需要使用 setup.py register
命令进行包名的显式预注册,并且 PyPI.org 上的旧版上传 API 仿真目前不支持此功能。
因此,在切换到使用 PyPI.org 进行上传后,尝试显式注册将显示以下错误消息
Server response (410): This API is no longer supported, instead simply upload the file.
解决方案是跳过注册步骤,直接进行构件上传。
使用 TestPyPI¶
旧版 TestPyPI (testpypi.python.org) 不再可用;请改用 test.pypi.org。如果您使用 TestPyPI,您必须更新您的 $HOME/.pypirc
以处理 TestPyPI 的新位置,通过将 https://testpypi.python.org/pypi
替换为 https://test.pypi.org/legacy/
,例如
[distutils]
index-servers=
pypi
testpypi
[testpypi]
repository = https://test.pypi.org/legacy/
username = <your TestPyPI username>
password = <your TestPyPI password>
有关更多详细信息,请参阅 .pypirc
的规范。
注册新用户账户¶
为了帮助减轻针对 PyPI 的垃圾邮件攻击,通过 pypi.python.org
的新用户注册已于 2018 年 2 月 20 日 关闭。pypi.org
上的新用户注册是开放的。
浏览包¶
虽然 pypi.python.org
仍然可能用于其他 PyPA 文档中的链接等,但浏览包的默认界面是 pypi.org
。pypi.python.org 域现在重定向到 pypi.org,并可能在将来某个时候被禁用。
下载包¶
pypi.org
是下载包的默认主机。
管理已发布的包和版本¶
pypi.org
为登录用户提供了一个功能齐全的界面,用于管理他们发布的包和版本。