Armazene pacotes Python no Artifact Registry

Este início rápido mostra como configurar um repositório Python do Artifact Registry privado, carregar um pacote e, em seguida, instalar o pacote.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry API.

    Enable the API

  9. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  10. Inicie o Cloud Shell

    Neste início rápido, vai usar a Cloud Shell, que é um ambiente de shell para gerir recursos alojados no Google Cloud.

    O Cloud Shell é pré-instalado com a CLI do Google Cloud e o Python. A CLI gcloud fornece a interface de linhas de comando principal para Google Cloud.

    Inicie o Cloud Shell:

    1. Aceda à Google Cloud consola.

      Google Cloud consola

    2. Na Google Cloud barra de ferramentas da consola, clique em Ativar Cloud Shell:

    É aberta uma sessão do Cloud Shell num frame na parte inferior da consola. Use esta shell para executar comandos gcloud.

    Instale os pacotes necessários

    O Twine é uma ferramenta para publicar pacotes Python. Vai usar o Twine para carregar um pacote para o Artifact Registry.

    Neste guia de início rápido, usa a instalação do Python incluída no Cloud Shell. Esta instalação predefinida inclui o backend do conjunto de chaves do Artifact Registry: para processar a autenticação com o Artifact Registry. Se criar um ambiente virtual ou configurar o Python fora do Cloud Shell, tem de instalar o back-end do keyring para autenticação. Para obter detalhes, consulte o artigo Autenticação com o porta-chaves.

    Para instalar o Twine, execute o comando:

    pip install twine
    

    Já pode configurar o Artifact Registry.

    Crie um repositório

    Crie o repositório para os seus pacotes.

    1. Execute o seguinte comando para criar um novo repositório de pacotes Python no projeto atual denominado quickstart-python-repo na localização us-central1.

      gcloud artifacts repositories create quickstart-python-repo \
          --repository-format=python \
          --location=us-central1 \
          --description="Python package repository"
      
    2. Execute o seguinte comando para verificar se o repositório foi criado:

      gcloud artifacts repositories list
      
    3. Para simplificar os comandos gcloud, defina o repositório predefinido como quickstart-python-repo e a localização predefinida como us-central1. Depois de definir os valores, não precisa de os especificar em gcloud comandos que requerem um repositório ou uma localização.

      Para definir o repositório, execute o comando:

      gcloud config set artifacts/repository quickstart-python-repo
      

      Para definir a localização, execute o comando:

      gcloud config set artifacts/location us-central1
      

      Para mais informações sobre estes comandos, consulte a documentação gcloud config set.

    Configure a autenticação

    O back-end do conjunto de chaves do Artifact Registry encontra as suas credenciais através das credenciais predefinidas da aplicação (ADC), uma estratégia que procura credenciais no seu ambiente.

    Neste início rápido, vai:

    • Gere credenciais de utilizador para o ADC. Num ambiente de produção, deve usar uma conta de serviço e fornecer credenciais com a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS.
    • Inclua o URL do repositório do Artifact Registry nos comandos pip e twine para não ter de configurar o pip e o Twine com o URL do repositório.

    Para gerar credenciais para o ADC, execute o seguinte comando:

    gcloud auth application-default login
    

    Para ver detalhes sobre os métodos de autenticação e como adicionar repositórios à configuração do pip e do Twine, consulte o artigo Configurar a autenticação para repositórios de pacotes Python.

    Obtenha um pacote de exemplo

    Quando cria um projeto Python, os ficheiros de distribuição são guardados numa subdiretoria dist no seu projeto Python. Para simplificar este início rápido, vai transferir ficheiros de pacotes pré-criados.

    1. Crie uma pasta de projeto do Python com o nome python-quickstart.

      mkdir python-quickstart
      
    2. Crie um subdiretório com o nome dist e, em seguida, mude para o diretório.

      mkdir python-quickstart/dist
      cd python-quickstart/dist
      
    3. Transfira os pacotes Python de exemplo usados no tutorial do guia do utilizador Embalar projetos Python.

      pip download sampleproject
      

      O comando transfere o pacote sampleproject e a respetiva dependência, peppercorn.

    Carregue o pacote para o repositório

    Use o Twine para carregar os seus pacotes para o repositório.

    1. No diretório dist, mude para o diretório principal python-quickstart.

      cd ..
      
    2. Carregue os pacotes para o repositório a partir do diretório dist.

      python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
      

      Quando executa o comando com python3 -m, o Python localiza o twine e executa o comando. Se o comando twine estiver no caminho do sistema, pode executá-lo sem python3 -m.

    O Twine carrega os ficheiros sampleproject e peppercorn para o seu repositório.

    Veja o pacote no repositório

    Para verificar se o pacote foi adicionado, liste os pacotes no repositório quickstart-python-repo.

    Execute o seguinte comando:

    gcloud artifacts packages list --repository=quickstart-python-repo
    

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

    gcloud artifacts versions list --package=PACKAGE
    

    Onde PACKAGE é o ID do pacote.

    Instale o pacote

    Execute o seguinte comando para instalar o pacote:

    pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
    

    Resolução de problemas

    Por predefinição, ferramentas como o pip e o Twine não devolvem mensagens de erro detalhadas. Se encontrar um erro, volte a executar o comando com a flag --verbose para obter um resultado mais detalhado. Consulte a secção Resolução de problemas de pacotes Python para mais informações.

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Antes de remover o repositório, certifique-se de que todos os pacotes que quer manter estão disponíveis noutra localização.

    Para eliminar o repositório:

    1. Para eliminar o repositório quickstart-python-repo, execute o seguinte comando:

      gcloud artifacts repositories delete quickstart-python-repo
      
    2. Se quiser remover as predefinições do repositório e da localização que configurou para a configuração gcloud ativa, execute os seguintes comandos:

      gcloud config unset artifacts/repository
      gcloud config unset artifacts/location
      

    O que se segue?