Armazene pacotes Python no Artifact Registry
Este início rápido mostra como configurar um repositório Python privado do Artifact Registry, carregar um pacote e, em seguida, instalar o pacote.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
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.
- 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
-
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o identificador de um utilizador num Workload Identity Pool. Para ver detalhes, consulte Represente utilizadores do pool de força de trabalho em políticas de IAM ou contacte o seu administrador.
- Clique em Selecionar uma função e, de seguida, pesquise a função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
Inicie o Cloud Shell
Neste início rápido, vai usar o 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:
Aceda à Google Cloud consola.
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 ver detalhes, consulte o artigo Autenticação com o conjunto de chaves.
Para instalar o Twine, execute o comando:
pip install twineJá pode configurar o Artifact Registry.
Crie um repositório
Crie o repositório para os seus pacotes.
Execute o seguinte comando para criar um novo repositório de pacotes Python no projeto atual denominado
quickstart-python-repona localizaçãous-central1.gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"Execute o seguinte comando para verificar se o repositório foi criado:
gcloud artifacts repositories listPara simplificar os comandos
gcloud, defina o repositório predefinido comoquickstart-python-repoe a localização predefinida comous-central1. Depois de definir os valores, não precisa de os especificar emgcloudcomandos que requerem um repositório ou uma localização.Para definir o repositório, execute o comando:
gcloud config set artifacts/repository quickstart-python-repoPara definir a localização, execute o comando:
gcloud config set artifacts/location us-central1Para 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
pipetwinepara 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 loginPara 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
distno seu projeto Python. Para simplificar este início rápido, vai transferir ficheiros de pacotes pré-criados.Crie uma pasta de projeto do Python com o nome
python-quickstart.mkdir python-quickstartCrie um subdiretório com o nome
diste, em seguida, mude para o diretório.mkdir python-quickstart/dist cd python-quickstart/distTransfira os pacotes Python de exemplo usados no tutorial do guia do utilizador de embalagens Python Embalar projetos Python.
pip download sampleprojectO comando transfere o pacote
sampleprojecte a respetiva dependência,peppercorn.
Carregue o pacote para o repositório
Use o Twine para carregar os seus pacotes para o repositório.
No diretório
dist, mude para o diretório principalpython-quickstart.cd ..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 comandotwineestiver no caminho do sistema, pode executá-lo sempython3 -m.
O Twine carrega os ficheiros
sampleprojectepeppercornpara 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-repoPara ver as versões de um pacote, execute o seguinte comando:
gcloud artifacts versions list --package=PACKAGEOnde 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/ sampleprojectResoluçã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
--verbosepara receber 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:
Para eliminar o repositório
quickstart-python-repo, execute o seguinte comando:gcloud artifacts repositories delete quickstart-python-repoSe quiser remover as definições predefinidas do repositório e da localização que configurou para a configuração ativa do
gcloud, execute os seguintes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location
O que se segue?
- Saiba mais sobre a configuração da autenticação
- Saiba como gerir repositórios
- Saiba como gerir pacotes
- Leia os nossos recursos sobre DevOps e explore o nosso programa de investigação.
-