Armazenar pacotes Python no Artifact Registry
Neste guia de início rápido, mostramos como configurar um repositório Python privado do Artifact Registry, fazer upload de um pacote e 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Iniciar o Cloud Shell
Neste guia de início rápido, você vai usar o Cloud Shell, um ambiente shell para gerenciar recursos hospedados no Google Cloud.
O Cloud Shell vem pré-instalado com a Google Cloud CLI e o Python. A CLI gcloud fornece a principal interface de linha de comando do Google Cloud.
Inicie o Cloud Shell
Acesse o console Google Cloud .
Na barra de ferramentas do console do Google Cloud , clique em Ativar o Cloud Shell:
Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console.
Use esse shell para executar comandos gcloud
.
Instalar os pacotes necessários
O Twine é uma ferramenta para publicar pacotes Python. Você vai usar o Twine para fazer upload de um pacote para o Artifact Registry.
Neste guia de início rápido, você vai usar a instalação do Python incluída no Cloud Shell. Essa instalação padrão inclui o back-end de chaveiro do Artifact Registry: para processar a autenticação com o Artifact Registry. Se você criar um ambiente virtual ou configurar o Python fora do Cloud Shell, será necessário instalar o back-end de chaveiro para autenticação. Para saber mais, consulte Como autenticar com o chaveiro.
Para instalar o Twine, execute o comando:
pip install twine
Agora você está pronto para configurar o Artifact Registry.
Crie um repositório
Crie o repositório para seus pacotes.
Execute o seguinte comando para criar um novo repositório de pacotes Python no projeto atual chamado
quickstart-python-repo
no localus-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 padrão comoquickstart-python-repo
e o local padrão comous-central1
. Depois que os valores forem definidos, não será necessário especificá-los nos comandosgcloud
que exigem um repositório ou local.Para definir o repositório, execute o comando:
gcloud config set artifacts/repository quickstart-python-repo
Para definir o local, execute o comando:
gcloud config set artifacts/location us-central1
Saiba mais sobre esses comandos na documentação do gcloud config set.
Configurar a autenticação
O back-end do chaveiro do Artifact Registry encontra suas credenciais usando Application Default Credentials (ADC), uma estratégia que procura credenciais no seu ambiente.
Neste guia de início rápido, você vai:
- Gere credenciais de usuário para o ADC. Em um ambiente de
produção, use uma conta de serviço e forneça 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 precisar 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 detalhes sobre métodos de autenticação e adição de repositórios à configuração do pip e do Twine, consulte Como configurar a autenticação em repositórios de pacotes Python.
Conseguir um pacote de exemplo
Ao criar um projeto Python, os arquivos de distribuição são salvos em um subdiretório dist
no projeto Python. Para simplificar este guia de início rápido, você vai
fazer o download de arquivos de pacote pré-criados.
Crie uma pasta de projeto Python com o nome
python-quickstart
.mkdir python-quickstart
Crie um subdiretório com o nome
dist
e mude para o diretório.mkdir python-quickstart/dist cd python-quickstart/dist
Faça o download dos exemplos de pacotes Python usados no tutorial do guia do usuário de empacotamento do Python Empacote projetos Python.
pip download sampleproject
O comando faz o download do pacote
sampleproject
e da dependência dele,peppercorn
.
Fazer upload do pacote para o repositório
Use o Twine para fazer upload dos pacotes para o repositório.
No diretório
dist
, mude para o diretório paipython-quickstart
.cd ..
Faça upload dos pacotes para o repositório no diretório
dist
.python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
Quando você executa o comando com
python3 -m
, o Python localiza o twine e executa o comando. Se o comandotwine
estiver no caminho do sistema, ele poderá ser executado sempython3 -m
.
O Twine faz upload de sampleproject
e peppercorn
para o repositório.
Ver o pacote no repositório
Para verificar se o pacote foi adicionado, liste os pacotes no
repositório quickstart-python-repo
.
Execute este 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
Em que PACKAGE é o ID do pacote.
Instale o pacote
Execute o comando a seguir para instalar o pacote:
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
Solução de problemas
Por padrão, ferramentas como pip e Twine não retornam mensagens de erro detalhadas.
Se você encontrar um erro, execute o comando novamente com a flag --verbose
para
receber uma saída mais detalhada. Consulte
Solução de problemas de pacotes Python para mais informações.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
Antes de remover o repositório, verifique se os pacotes que você quer manter estão disponíveis em outro local.
Para excluir o repositório:
Para excluir o repositório
quickstart-python-repo
, execute o seguinte comando:gcloud artifacts repositories delete quickstart-python-repo
Se você quiser remover as configurações padrão de repositório e localização que definiu para a configuração ativa
gcloud
, execute os seguintes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location
A seguir
- Saiba mais sobre como configurar a autenticação
- Saiba mais sobre como gerenciar repositórios
- Saiba mais sobre como gerenciar pacotes
- Leia nossos recursos sobre DevOps e conheça nosso programa de pesquisa.