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.