Stocker les packages Python dans Artifact Registry
Ce guide de démarrage rapide vous explique comment configurer un dépôt Python Artifact Registry privé, importer un package, puis l'installer.
Avant de commencer
- 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.
Lancer Cloud Shell
Dans ce guide de démarrage rapide, vous allez utiliser Cloud Shell, qui est un environnement shell permettant de gérer les ressources hébergées Google Cloud.
Cloud Shell est préinstallé avec la Google Cloud CLI et Python. gcloud CLI fournit l'interface de ligne de commande principale pour Google Cloud.
Lancez Cloud Shell :
Accédez à Google Cloud Console.
Dans la barre d'outils de la console Google Cloud, cliquez sur Activer Cloud Shell:
Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console.
Cette interface système vous permet d'exécuter les commandes gcloud
.
Installer les packages requis
Twine est un outil la publication de packages Python. Vous utiliserez Twine pour importer un package dans Artifact Registry.
Dans ce guide de démarrage rapide, vous utilisez l'installation Python incluse dans Cloud Shell. Cette installation par défaut inclut le backend du trousseau Artifact Registry pour gérer l'authentification avec Artifact Registry. Si vous créez un environnement virtuel ou configurez Python en dehors de Cloud Shell, vous devez installer le backend du trousseau pour l'authentification. Pour en savoir plus, consultez la section Authentification avec un trousseau.
Pour installer Twine, exécutez la commande suivante:
pip install twine
Vous êtes maintenant prêt à configurer Artifact Registry.
Créer un dépôt
Créez le dépôt pour vos packages.
Exécutez la commande suivante pour créer un dépôt de packages Python dans le projet actuel
quickstart-python-repo
à l'emplacementus-central1
.gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"
Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé :
gcloud artifacts repositories list
Pour simplifier les commandes
gcloud
, définissez le dépôt par défaut surquickstart-python-repo
et l'emplacement par défaut surus-central1
. Une fois les valeurs définies, vous n'avez pas besoin de les spécifier dans les commandesgcloud
nécessitant un dépôt ou un emplacement.Pour définir le dépôt, exécutez la commande suivante :
gcloud config set artifacts/repository quickstart-python-repo
Pour définir l'emplacement, exécutez la commande suivante :
gcloud config set artifacts/location us-central1
Pour plus d'informations sur ces commandes, consultez la documentation gcloud config set.
Configurer l'authentification
Le backend du trousseau de clés Artifact Registry trouve vos identifiants à l'aide de Identifiants par défaut de l'application (ADC), une stratégie de recherche d'identifiants dans votre environnement.
Dans ce guide de démarrage rapide, vous allez :
- Générez des identifiants utilisateur pour ADC. En production
vous devez utiliser un compte de service et fournir des identifiants
la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
. - Inclure l'URL du dépôt Artifact Registry dans les commandes
pip
ettwine
afin de ne pas avoir à configurer pip et Twine avec le dépôt URL.
Pour générer des identifiants pour ADC, exécutez la commande suivante:
gcloud auth application-default login
Pour en savoir plus sur les méthodes d'authentification et l'ajout de dépôts à la configuration de pip et de Twine, consultez la section Configurer l'authentification dans les dépôts de paquets Python.
Obtenir un exemple de package
Lorsque vous créez un projet Python, les fichiers de distribution sont enregistrés dans un sous-répertoire dist
de votre projet Python. Pour simplifier ce guide de démarrage rapide, vous allez :
télécharger des fichiers de package prédéfinis.
Créez un dossier de projet Python nommé
python-quickstart
.mkdir python-quickstart
Créez un sous-répertoire nommé
dist
, puis accédez-y.mkdir python-quickstart/dist cd python-quickstart/dist
Téléchargez les exemples de packages Python utilisés dans le tutoriel du guide de l'utilisateur sur le packaging Python Packaging Python Projects (Empaquetage de projets Python).
pip download sampleproject
La commande télécharge le package
sampleproject
et sa dépendance,peppercorn
.
Importer le package dans le dépôt
Utilisez Twine pour importer vos packages dans votre dépôt.
Dans le répertoire
dist
, passez aupython-quickstart
parent. .cd ..
Importez les packages dans le dépôt à partir de votre répertoire
dist
.python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
Lorsque vous exécutez la commande avec
python3 -m
, Python recherche twine et exécute la commande. Si la commandetwine
se trouve dans votre chemin d'accès système, vous pouvez l'exécuter sanspython3 -m
.
Twine importe sampleproject
et peppercorn
dans votre dépôt.
Afficher le package dans le dépôt
Pour vérifier que votre package a bien été ajouté, listez les packages du dépôt quickstart-python-repo
.
Exécutez la commande suivante :
gcloud artifacts packages list --repository=quickstart-python-repo
Pour afficher les versions d'un package, exécutez la commande suivante :
gcloud artifacts versions list --package=PACKAGE
Où PACKAGE correspond à l'ID de package.
Installer le package
Exécutez la commande suivante pour installer le package :
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
Dépannage
Par défaut, les outils tels que pip et Twine ne renvoient pas de messages d'erreur détaillés.
Si vous rencontrez une erreur, réexécutez la commande avec l'indicateur --verbose
pour obtenir une sortie plus détaillée. Pour en savoir plus, consultez la section Dépannage des packages Python.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Avant de supprimer le dépôt, assurez-vous que tous les packages que vous souhaitez conserver sont disponibles à un autre emplacement.
Pour supprimer le dépôt :
Pour supprimer le dépôt
quickstart-python-repo
, exécutez la commande suivante :gcloud artifacts repositories delete quickstart-python-repo
Si vous souhaitez supprimer le dépôt par défaut et les paramètres d'emplacement que vous avez définis pour la configuration
gcloud
active, exécutez les commandes suivantes :gcloud config unset artifacts/repository gcloud config unset artifacts/location
Étape suivante
- En savoir plus sur la configuration de l'authentification
- En savoir plus sur la gestion des dépôts
- En savoir plus sur la gestion des packages
- Consultez nos ressources sur le DevOps et découvrez notre programme de recherche.