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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
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 endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
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 endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
-
Aceda à Google Cloud consola.
Na Google Cloud barra de ferramentas da consola, clique em Ativar Cloud Shell:
Execute o seguinte comando para criar um novo repositório de pacotes Python no projeto atual denominado
quickstart-python-repo
na 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 list
Para simplificar os comandos
gcloud
, defina o repositório predefinido comoquickstart-python-repo
e a localização predefinida comous-central1
. Depois de definir os valores, não precisa de os especificar emgcloud
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.
- 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
etwine
para não ter de configurar o pip e o Twine com o URL do repositório. Crie uma pasta de projeto do Python com o nome
python-quickstart
.mkdir python-quickstart
Crie um subdiretório com o nome
dist
e, em seguida, mude para o diretório.mkdir python-quickstart/dist cd python-quickstart/dist
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
.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 comandotwine
estiver no caminho do sistema, pode executá-lo sempython3 -m
.Para eliminar o repositório
quickstart-python-repo
, execute o seguinte comando:gcloud artifacts repositories delete quickstart-python-repo
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
- 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.
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:
É 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.
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:
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.
Carregue o pacote para o repositório
Use o Twine para carregar os seus pacotes para o repositório.
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: