Cette page décrit l'ajout, l'affichage et la suppression de packages et de packages Python versions.
Avant de commencer
Installez et initialisez le Google Cloud CLI.
La Google Cloud CLI version 354.0.0 ou ultérieure est requise pour exécuter des commandes pour Dépôts Python. Vous pouvez vérifier la version à l'aide de la commande suivante:
gcloud version
Si le dépôt cible n'existe pas, Créez un dépôt de packages Python.
Vérifiez que Python 3 est installé. Pour obtenir des instructions d'installation, consultez les Tutoriel Google Cloud sur la configuration de Python
(Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
Si vous utilisez l'authentification par trousseau avec gcloud, connectez-vous à la Google Cloud CLI avec votre compte utilisateur ou de service géré.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin pour gérer les packages, demandez à votre administrateur de vous accorder le les rôles IAM suivants dans le dépôt:
-
Afficher des packages ou des fichiers dans des packages:
Lecteur Artifact Registry (
roles/artifactregistry.reader
) -
Télécharger ou installer des packages:
Lecteur Artifact Registry (
roles/artifactregistry.reader
) -
Ajoutez des packages à un dépôt:
Rédacteur Artifact Registry (
roles/artifactregistry.writer
) -
Supprimer des packages:
Administrateur de dépôt Artifact Registry (
roles/artifactregistry.repoAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Ajouter des packages
Modes de dépôt:standard
Lorsque vous créez un projet Python, les fichiers de distribution sont enregistrés dans un dist
dans votre projet. Vous pouvez ensuite utiliser Twine pour télécharger des packages vers un
standard.
Nous vous recommandons de suivre les bonnes pratiques suivantes pour vos packages:
- Utilisez des noms uniques pour vos packages privés afin qu'ils ne correspondent pas à ceux de sur pypi.org, surtout si votre la configuration pip comprend plusieurs index de packages.
- Utilisez la spécification de l'identifiant de version dans le document PEP 440. pour les numéros de version de votre package. Par défaut, pip n'installe que des applications versions. Il utilise la spécification de l'identifiant de version pour distinguer les versions stables à partir des versions préliminaires et pour analyser les exigences concernant la version à installer.
Pour ajouter un package :
Installez Twine.
pip install twine
Accédez au répertoire de votre projet Python.
Importez les fichiers de distribution dans le dépôt à partir du projet
dist
. sous-répertoire. Exécutez la commande suivante :twine upload dist/*
Vous pouvez spécifier un dépôt particulier avec l'option
--repository-url
.twine upload --repository-url https://LOCATION-python.pkg.dev/PROJECT/REPOSITORY/ dist/*
Afficher des packages et des versions
Modes de dépôt:standard, distant
Afficher les packages et les versions de package à l'aide de la console Google Cloud
ou gcloud
:
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Cliquez sur un package pour afficher ses versions.
gcloud
Pour répertorier les packages d'un dépôt, exécutez la commande suivante :
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Où
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
Pour afficher les versions d'un package, exécutez la commande suivante :
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Où :
- PACKAGE est l'ID du package ou de l'identifiant complet. pour le package.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
Pour les dépôts distants, la liste renvoyée doit inclure tous les dépôts directs et les dépendances transitives.
Répertorier les fichiers
Modes de dépôt:standard, distant
Vous pouvez répertorier les fichiers d'un dépôt, les fichiers de toutes les versions d'un un package ou des fichiers dans une version spécifique d'un package.
Pour toutes les commandes suivantes, vous pouvez définir un nombre maximal de fichiers à renvoyer
en ajoutant l'option --limit
à la commande.
Pour répertorier tous les fichiers du projet, du dépôt et lorsque les valeurs par défaut sont configurées:
gcloud artifacts files list
Pour répertorier les fichiers d'un projet, d'un dépôt et d'un emplacement spécifiés, exécutez la commande suivante:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Pour répertorier les fichiers de toutes les versions d'un package spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Pour répertorier les fichiers d'une version de package spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Remplacez les valeurs suivantes :
LOCATION
: le régional ou multirégional emplacement du dépôt.PROJECT
: ID de votre projet Google Cloud. Si l'ID du projet contient le signe deux-points (":"), consultez la section Projets à l'échelle du domaine.REPOSITORY
: nom du dépôt dans lequel l'image sont stockées.PACKAGE
: nom du package.VERSION
: version du package.
Examples
Examinez les informations de package suivantes:
- Projet :
my-project
- Dépôt:
my-repo
- Emplacement du dépôt :
us-west1
- Colis:
my-app
La commande suivante permet de lister tous les fichiers du dépôt my-repo
dans
l'emplacement us-west1
dans le projet par défaut:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
La commande suivante permet de lister les fichiers dans la version 1.0
du package.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Installer des packages
Modes de dépôt:standard, distant, virtuel
Utilisez la commande pip
pour installer des packages.
Pour installer la dernière version stable d'un package, exécutez la commande suivante:
pip install PACKAGE
Pour les dépôts standards, vous téléchargez un package directement à partir du dépôt.
Pour un dépôt distant, vous téléchargez une copie en cache du package et de ses les dépendances. Si aucune copie mise en cache n'existe, le dépôt distant se télécharge le package à partir de la source en amont et le met en cache avant de vous le servir. Vous pouvez vérifier que le dépôt distant a récupéré les packages à partir de en amont en affichant la liste des packages dans le dépôt.
Pour un dépôt virtuel, Artifact Registry recherche des dépôts en amont pour le package demandé.
- Les dépôts distants en amont téléchargent et mettent en cache le package demandé si aucune copie en cache n'existe. Les dépôts virtuels ne traitent que les données les packages, ils ne les stockent pas.
- Si vous demandez une version disponible dans plusieurs flux en amont Artifact Registry choisit un dépôt en amont à utiliser en fonction des paramètres de priorité configurés pour le dépôt virtuel.
Prenons l'exemple d'un dépôt virtuel avec les paramètres de priorité suivants : pour les dépôts en amont:
main-repo
: priorité définie sur100
secondary-repo1
: priorité définie sur80
.secondary-repo2
: priorité définie sur80
.test-repo
: priorité définie sur20
.
main-repo
ayant la valeur de priorité la plus élevée, le dépôt virtuel
la recherche toujours en premier.
La priorité de secondary-repo1
et secondary-repo2
est définie sur 80
. Si un
le package demandé n'est pas disponible dans main-repo
, Artifact Registry
effectue ensuite une recherche dans ces dépôts. Puisqu'ils ont tous les deux
la même valeur de priorité,
Artifact Registry peut choisir de diffuser un package à partir de l'un ou l'autre des dépôts
si la version est disponible dans les deux.
test-repo
a la valeur de priorité la plus basse et diffusera un artefact stocké si
aucun des autres dépôts en amont ne le possède.
Informations supplémentaires
Par défaut, pip installe les versions stables d'un et ignore les versions préliminaires. PEP 440 définit la version Python spécification d'identifiants qui permet aux utilisateurs de pip d'analyser les numéros de version, y compris versions préliminaires.
Pour inclure des versions préliminaires lorsque pip recherche un package à installer,
l'option --pre
à votre commande.
pip install --pre PACKAGE
Pour spécifier une version requise ou une plage de versions, ajoutez un spécificateur d'exigences. Vous pouvez inclure l'exigence de version directement dans votre commande ou utilisez un fichier d'exigences.
Par exemple, cette commande spécifie que la version minimale de my-package
est
version de développement 1.0.dev0
.
pip install --pre my-package>=1.0.dev0
Les versions stables sont considérées comme plus récentes que les versions préliminaires. Par conséquent, si la version 1.0
se trouve dans le dépôt, pip choisit la version 1.0
plutôt qu'une version préliminaire.
Si vous ne spécifiez pas de dépôt, votre configuration pip dans pip.conf
détermine comment pip recherche le package.
- Si vous avez configuré le dépôt Artifact Registry avec le fichier
index-url
et qu'aucun autre index de package n'est configuré, les recherches pip uniquement votre dépôt Artifact Registry pour le package. - Si vous utilisez un dépôt virtuel, Artifact Registry utilise le configurées dans la règle en amont pour choisir un package plusieurs dépôts en amont ont la version de package demandée. Si deux avec le package ont la même priorité, Artifact Registry les diffuse à partir de l'un ou l'autre des dépôts.
- Si vous avez configuré pip avec le paramètre
extra-index-url
ou si vous avez configuré plusieurs index de packages, pypi.org et les autres fichiers le package indexe et choisit la dernière version du package.
Vous pouvez ignorer index-url
ou extra-index-url
dans votre fichier requirements. Vous pouvez
utiliser également des indicateurs pour
ces paramètres dans votre commande pip. Par exemple, cette commande
remplace index-url
par un dépôt Artifact Registry.
pip install --index-url https://us-east1-python.pkg.dev/my-project/python-repo/simple/ my-package
Pour plus d'informations sur l'installation de packages, consultez les Documentation sur le packaging Python.
Supprimer des packages et des versions
Modes de dépôt:standard, distant
Vous pouvez supprimer un package et toutes ses versions, ou supprimer une version spécifique.
- La suppression d'un package est irréversible.
- Pour les dépôts distants, seule la copie mise en cache du package est supprimée. La source en amont n'est pas affectée. Si vous supprimez un package mis en cache, Artifact Registry le téléchargera et le mettra en cache la prochaine fois que reçoit une requête pour la même version du package.
Avant de supprimer un package ou une version de package, vérifiez que vous avez communiqué ou résolu toute dépendance importante associée.
Pour supprimer un package, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Sélectionnez le package que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Exécutez la commande suivante :
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Où
- PACKAGE est le nom du package dans le dépôt.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
--async
renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.
Pour supprimer des versions d'un package, procédez comme suit :
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, cliquez sur le dépôt approprié.
La page Packages répertorie les packages du dépôt.
Cliquez sur un package pour afficher ses versions.
Sélectionnez les versions que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Exécutez la commande suivante :
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Où
- PACKAGE est le nom du package dans le dépôt.
- REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
- LOCATION est un régional ou multirégional position. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous configuré un emplacement default, vous pouvez omettre cette option pour utiliser par défaut.
--async
est immédiatement renvoyé, sans attendre que l'opération en cours terminé.
Étape suivante
- En savoir plus sur la gestion des packages Java
- En savoir plus sur la gestion des packages Node.js
- En savoir plus sur la gestion des images de conteneurs
- Télécharger des fichiers individuels d'un package