Migrando para PyPI.org

Status da página

Obsoleto

pypi.org é a nova versão reescrita do PyPI que substituiu a base de código legada do PyPI. É a versão padrão do PyPI que se espera que as pessoas usem. Estas são as ferramentas e processos que as pessoas precisarão para interagir com o PyPI .org.

Publicando lançamentos

pypi.org é a plataforma padrão para envio em setembro de 2016.

Os envios por meio de pypi.python.org foram desativados em 3 de julho de 2017. Desde 13 de abril de 2018, pypi.org é a URL do PyPI.

A maneira recomendada de migrar para PyPI.org para enviar é garantir que você esteja usando uma versão nova o suficiente de sua ferramenta de envio.

As configurações de envio padrão mudaram para pypi.org nas seguintes versões:

  • twine 1.8.0

  • setuptools 27.0.0

  • Python 2.7.13 (atualização de distutils)

  • Python 3.4.6 (atualização de distutils)

  • Python 3.5.3 (atualização de distutils)

  • Python 3.6.0 (atualização de distutils)

Além de garantir que você esteja em uma versão nova o suficiente da ferramenta para que o padrão da ferramenta seja alterado, você também deve se certificar de que não configurou a ferramenta para substituir sua URL de envio padrão. Normalmente, isso é configurado em um arquivo localizado em $HOME/.pypirc. Se você vir um arquivo como:

[distutils]
index-servers =
    pypi

[pypi]
repository = https://pypi.python.org/pypi
username = <your PyPI username>
password = <your PyPI username>

Em seguida, simplesmente exclua a linha começando com repository e você usará a URL padrão da sua ferramenta de envio.

Se por algum motivo você não puder atualizar a versão de sua ferramenta para uma versão que usa o padrão PyPI.org, então você pode editar $HOME/.pypirc e incluir a linha repository:, mas use o valor https://upload.pypi.org/legacy/ em vez disso:

[distutils]
index-servers =
    pypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = <your PyPI username>
password = <your PyPI password>

(legacy nesta URL refere-se ao fato de que esta é a emulação da implementação do novo servidor para a API de envio da implementação do servidor legado.)

Para mais detalhes, veja a especificação do .pypirc.

Registrando nomes pacotes e metadados

O pré-registro explícito de nomes de pacotes com o comando setup.py register antes do primeiro envio não é mais necessário e não é mais suportado pela emulação de API de envio legado no PyPI.org.

Como resultado, a tentativa de registro explícito após alternar para o uso de PyPI.org para envios gerará a seguinte mensagem de erro:

Server response (410): This API is no longer supported, instead simply upload the file.

A solução é pular a etapa de registro e prosseguir diretamente para o envio dos artefatos.

Usando TestPyPI

O TestPyPI legado (testpypi.python.org) não está mais disponível; use test.pypi.org em vez disso. Se você usar o TestPyPI, você deve atualizar seu $HOME/.pypirc para lidar com o novo local do TestPyPI, substituindo https://testpypi.python.org/pypi por https://test.pypi.org/legacy/, por exemplo:

[distutils]
index-servers=
    pypi
    testpypi

[testpypi]
repository = https://test.pypi.org/legacy/
username = <your TestPyPI username>
password = <your TestPyPI password>

Para mais detalhes, veja a especificação do .pypirc.

Registrando novas contas de usuário

A fim de ajudar a mitigar ataques de spam contra PyPI, o registro de novo usuário por meio de pypi.python.org foi desativado em 20 de fevereiro de 2018. Novos registros de usuários em pypi.org estão abertos.

Navegando pelos pacotes

Embora pypi.python.org ainda possa ser usado em links de outras documentações do PyPA, etc, a interface padrão para navegar pelos pacotes é pypi.org. O domínio pypi.python.org agora redireciona para pypi.org e pode ser desativado em algum momento no futuro.

Baixando pacotes

pypi.org é o host padrão para download de pacotes.

Gerenciando pacotes e lançamentos publicados

pypi.org fornece uma interface totalmente funcional para usuários autenticados gerenciarem seus pacotes publicados e lançamentos.