Como gerenciar pacotes do Python

Nesta página, você verá como adicionar, visualizar e excluir pacotes e versões de pacotes do Python.

Antes de começar

  1. Verifique se você ativou a API Artifact Registry e instalou o SDK do Cloud. Para instruções, consulte Como ativar e desativar o serviço.

    A versão 354.0.0 ou mais recente da ferramenta de linha de comando gcloud é necessária para executar comandos para repositórios Python. Você pode conferir a versão com o comando:

    gcloud version
    
  2. Se o repositório de destino não existir, crie um novo repositório de pacotes do Python.

  3. Verifique se o Python 3 está instalado. Para instruções de instalação, consulte o tutorial do Google Cloud para configurar o Python.

  4. (Opcional) Configure padrões para comandos gcloud.

  5. Se você estiver usando autenticação de keyring com credenciais do gcloud, faça login no SDK do Cloud com sua conta de usuário ou conta de serviço.

Como adicionar pacotes

Permissões necessárias: Artifact Registry Writer

Quando você cria um projeto Python, os arquivos de distribuição são salvos em um subdiretório dist no seu projeto. Em seguida, use o Twine para fazer upload de pacotes para o repositório.

Recomendamos as seguintes práticas recomendadas para seus pacotes:

  • Use nomes exclusivos nos seus pacotes particulares para que eles não correspondam aos nomes dos pacotes em pypi.org, principalmente se a configuração do pip incluir vários índices de pacotes.
  • Use a especificação do identificador de versão no PEP 440 para os números de versão de pacote. Por padrão, o pip instala apenas versões estáveis. Ele usa a especificação do identificador de versão para distinguir versões estáveis de versões de pré-lançamento e analisar quaisquer requisitos de instalação da versão.

Para adicionar um pacote:

  1. Instale o Twine.

    pip install twine
    
  2. Mude para o diretório do projeto Python.

  3. Faça upload dos arquivos de distribuição para o repositório a partir do subdiretório dist do projeto. Execute este comando:

    twine upload dist/*
    

    É possível especificar um repositório específico com a sinalização --repository-url.

    twine upload --repository-url https://LOCATION-python.pkg.dev/PROJECT/REPOSITORY/ dist/*
    

Como visualizar pacotes e versões

Permissões necessárias: Artifact Registry Reader

Para visualizar pacotes e versões de pacotes usando o Console do Google Cloud ou gcloud:

Console

  1. Abra a página Repositórios no Console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. Clique em um pacote para visualizar as versões dele.

gcloud

Para listar pacotes em um repositório, execute o seguinte comando:

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

Onde

  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional ou multirregional. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.

Para ver as versões de um pacote, execute o seguinte comando:

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

Onde

  • PACKAGE é o ID do pacote ou o identificador totalmente qualificado do pacote.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional ou multirregional. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.

Como excluir pacotes e versões

Permissões necessárias: administrador do repositório do Artifact Registry

Antes de excluir uma versão de pacote ou um pacote, verifique se você comunicou ou resolveu qualquer dependência importante nele.

Para excluir um pacote:

Console

  1. Abra a página Repositórios no Console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. Selecione o pacote que você quer excluir.

  4. Clique em EXCLUIR.

  5. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Execute este comando:

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

Onde

  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional ou multirregional. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.
  • --async Retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Para excluir versões de um pacote:

Console

  1. Abra a página Repositórios no Console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. Clique em um pacote para visualizar as versões dele.

  4. Selecione as versões que você quer excluir.

  5. Clique em EXCLUIR.

  6. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Execute este comando:

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

Onde

  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional ou multirregional. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.
  • --async retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Como instalar pacotes

Permissões necessárias: Artifact Registry Reader

Use o comando pip para instalar pacotes do repositório.

Para instalar a versão estável mais recente de um pacote, execute o comando:

pip install PACKAGE

Por padrão, o PIP instala versões estáveis de um pacote e ignora as versões de pré-lançamento. O PEP 440 define a especificação do identificador de versão do Python que direcionará os usuários à análise de números de versão, incluindo versões de pré-lançamento.

Para incluir versões de pré-lançamento quando o pip pesquisar um pacote a ser instalado, a sinalização --pre ao seu comando.

pip install --pre PACKAGE

Para especificar uma versão ou um intervalo de versões obrigatório, inclua um especificador de solicitação. É possível incluir o requisito de versão diretamente no comando ou usar um arquivo de requisitos.

Por exemplo, este comando especifica que a versão mínima de my-package é a versão de desenvolvimento 1.0.dev0.

pip install --pre my-package>=1.0.dev0

As versões estáveis são consideradas mais recentes que as pré-lançamentos. Portanto, se a versão 1.0 estiver no repositório, o pip escolherá a versão 1.0 em vez de uma versão de pré-lançamento.

Se você não especificar um repositório, sua configuração de pip em pip.conf determinará como o pip pesquisa no pacote.

  • Se você configurou o repositório do Artifact Registry com a configuração index-url e nenhum outro índice de pacote foi configurado, o pip pesquisa apenas no repositório do Artifact Registry.
  • Se você definiu o repositório com a configuração extra-index-url ou se configurou vários índices de pacote, o pip pesquisa o pypi.org e qualquer outro índice de pacote configurado e escolhe versão mais recente do pacote.

Como alternativa, é possível especificar o repositório a ser pesquisado adicionando a sinalização --index-url ao comando.

pip install --index-url https://LOCATION-python.pkg.dev/PROJECT/REPOSITORY/simple/ PACKAGE

Para mais informações sobre como instalar pacotes, consulte a documentação de empacotamento do Python.

A seguir