Auf dieser Seite wird beschrieben, wie Python-Pakete und -Pakete hinzugefügt, angezeigt und gelöscht werden. Versionen.
Hinweise
Installieren und initialisieren Sie die Google Cloud CLI
Die Google Cloud CLI Version 354.0.0 oder höher ist zum Ausführen von Befehlen für Python-Repositories. Sie können die Version mit dem folgenden Befehl prüfen:
gcloud version
Wenn das Ziel-Repository nicht vorhanden ist, Erstellen Sie ein neues Python-Paket-Repository.
Überprüfen Sie, ob Python 3 installiert ist. Installationsanweisungen finden Sie auf der Google Cloud-Anleitung zum Einrichten von Python
(Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
Wenn Sie die Schlüsselbundauthentifizierung mit gcloud-Anmeldedaten verwenden, melden Sie sich mit Ihrem Nutzerkonto in der Google Cloud CLI an oder Dienstkonto.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Verwalten von Paketen benötigen, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für das Repository:
-
Pakete oder Dateien in Paketen ansehen:
Artifact Registry-Leser (
roles/artifactregistry.reader
) -
Pakete herunterladen oder installieren:
Artifact Registry-Leser (
roles/artifactregistry.reader
) -
Fügen Sie einem Repository Pakete hinzu:
Artifact Registry-Autor (
roles/artifactregistry.writer
) -
Pakete löschen:
Artifact Registry-Repository-Administrator (
roles/artifactregistry.repoAdmin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Pakete hinzufügen
Repository-Modi: Standard
Wenn Sie ein Python-Projekt erstellen, werden Verteilungsdateien in einem dist
gespeichert.
in Ihrem Projekt. Anschließend können Sie mit Twine Pakete in eine
Standard-Repository.
Wir empfehlen die folgenden Best Practices für Ihre Pakete:
- Verwende eindeutige Namen für deine privaten Pakete, damit sie nicht mit dem Paket übereinstimmen auf pypi.org, vor allem, wenn Ihre Die pip-Konfiguration umfasst mehrere Paketindexe.
- Verwenden Sie die Spezifikation der Versionskennung in PEP 440. für die Versionsnummern des Pakets. Standardmäßig installiert „pip“ nur „stable“ Veröffentlichungen. Die Spezifikation der Versionskennung wird verwendet, um zwischen stabilen Versionen zu unterscheiden. Vorabveröffentlichungen zu vergleichen und die Anforderungen die zu installierende Version.
So fügen Sie ein Paket hinzu:
Installieren Sie Twine.
pip install twine
Wechseln Sie in das Python-Projektverzeichnis.
Distributionsdateien aus dem Projekt
dist
in das Repository hochladen Unterverzeichnis zu laden. Führen Sie dazu diesen Befehl aus:twine upload dist/*
Mit dem Flag
--repository-url
können Sie ein bestimmtes Repository angeben.twine upload --repository-url https://LOCATION-python.pkg.dev/PROJECT/REPOSITORY/ dist/*
Pakete und Versionen ansehen
Repository-Modi: Standard, Remote
So rufen Sie Pakete und Paketversionen mit der Google Cloud Console auf:
oder gcloud
:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
gcloud
Führen Sie den folgenden Befehl aus, um die Pakete in einem Repository aufzulisten:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Dabei gilt:
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Um die Versionen für ein Paket aufzurufen, führen Sie folgenden Befehl aus:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Wo
- PACKAGE ist die ID des Pakets oder die vollqualifizierte Kennzeichnung für das Paket.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie default-Speicherort konfiguriert haben, können Sie dieses Flag weglassen, die Standardeinstellung.
Bei Remote-Repositories sollte die zurückgegebene Liste alle direkten und transitive Abhängigkeiten.
Dateien auflisten
Repository-Modi: Standard, Remote
Sie können Dateien in einem Repository auflisten, Dateien in allen Versionen einer bestimmten Paket oder Dateien in einer bestimmten Version eines Pakets.
Für alle folgenden Befehle können Sie eine maximale Anzahl von Dateien festlegen, die zurückgegeben werden sollen
indem Sie dem Befehl das Flag --limit
hinzufügen.
Zum Auflisten aller Dateien im Standardprojekt, Repository und Standort, wenn die Standardwerte konfiguriert sind:
gcloud artifacts files list
Führen Sie den folgenden Befehl aus, um Dateien in einem bestimmten Projekt, Repository und Speicherort aufzulisten:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
So listen Sie Dateien für alle Versionen eines bestimmten Pakets auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
So listen Sie Dateien für eine bestimmte Paketversion auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Ersetzen Sie die folgenden Werte:
LOCATION
: die regional oder multiregional Speicherort des Repositorys.PROJECT
: Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.REPOSITORY
: der Name des Repositorys, in dem sich das Image befindet gespeichert ist.PACKAGE
: der Name des Pakets.VERSION
: die Version des Pakets.
Beispiele
Beachten Sie die folgenden Paketinformationen:
- Projekt:
my-project
- Repository:
my-repo
- Speicherort des Repositorys:
us-west1
- Paket:
my-app
Mit dem folgenden Befehl werden alle Dateien im Repository my-repo
im
Speicherort us-west1
innerhalb des Standardprojekts:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
Mit dem folgenden Befehl werden Dateien der Version 1.0
des Pakets aufgelistet.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Pakete installieren
Repository-Modi:Standard, Remote, Virtual
Pakete werden mit dem Befehl pip
installiert.
Führen Sie den folgenden Befehl aus, um die neueste stabile Version eines Pakets zu installieren:
pip install PACKAGE
Bei Standard-Repositories laden Sie ein Paket direkt aus dem Repository herunter.
Bei einem Remote-Repository laden Sie eine im Cache gespeicherte Kopie des Pakets und der zugehörigen Abhängigkeiten. Wenn keine im Cache gespeicherte Kopie vorhanden ist, wird das Remote-Repository heruntergeladen. aus der Upstream-Quelle und speichert es vor der Bereitstellung im Cache. Sie können prüfen, ob das Remote-Repository die Pakete aus dem Upstream-Quelle durch Aufrufen der Liste der Pakete im Repository.
Bei einem virtuellen Repository durchsucht Artifact Registry Upstream-Repositories für das angeforderte Paket.
- Upstream-Remote-Repositories laden das angeforderte Paket herunter und speichern es im Cache, wenn eine im Cache gespeicherte Kopie nicht vorhanden ist. Virtuelle Repositories liefern nur angeforderte speichern sie diese nicht.
- Wenn Sie eine Version anfordern, die in mehr als einem Upstream verfügbar ist Repository auswählen, wählt Artifact Registry ein Upstream-Repository aus, das verwendet werden soll basierend auf den Prioritätseinstellungen, die für das virtuelle Repository konfiguriert wurden.
Betrachten Sie beispielsweise ein virtuelles Repository mit den folgenden Prioritätseinstellungen. für Upstream-Repositories:
main-repo
: Priorität auf100
festgelegtsecondary-repo1
: Priorität auf80
festgelegt.secondary-repo2
: Priorität auf80
festgelegt.test-repo
: Priorität auf20
festgelegt.
main-repo
hat den höchsten Prioritätswert, sodass das virtuelle Repository
sucht immer zuerst danach.
Sowohl secondary-repo1
als auch secondary-repo2
haben die Priorität 80
. Wenn ein
Das angeforderte Paket ist in main-repo
, Artifact Registry nicht verfügbar
diese Repositories als Nächstes durchsucht. Da beide den gleichen Prioritätswert haben,
Artifact Registry kann ein Paket aus beiden Repositorys bereitstellen
wenn die Version in beiden verfügbar ist.
test-repo
hat den niedrigsten Prioritätswert und stellt ein gespeichertes Artefakt bereit, wenn
keines der anderen vorgelagerten Repositories.
Weitere Informationen
Standardmäßig installiert pip stabile Versionen einer verpacken und Vorabveröffentlichungen ignoriert. PEP 440 definiert die Python-Version ID-Spezifikation, die pip-Nutzer zum Parsen von Versionsnummern verwenden, einschließlich Vorabveröffentlichungen.
So schließen Sie Vorabveröffentlichungen ein, wenn pip nach einem zu installierenden Paket sucht:
das Flag --pre
hinzufügen.
pip install --pre PACKAGE
Um eine erforderliche Version oder einen erforderlichen Versionsbereich anzugeben, schließen Sie einen ein. Anforderungsspezifizierer. Sie können die Versionsanforderung direkt in Ihrem Befehl oder verwenden Sie Datei mit Anforderungen.
Dieser Befehl gibt beispielsweise an, dass die Mindestversion von my-package
Entwicklerversion 1.0.dev0
.
pip install --pre my-package>=1.0.dev0
Stabile Releases gelten als neuer als Vorabveröffentlichungen. Wenn also Version 1.0
befindet sich im Repository, wählt pip Version 1.0
gegenüber einer Vorabveröffentlichung aus.
Wenn Sie kein Repository angeben, wird Ihre pip-Konfiguration in pip.conf
bestimmt, wie pip nach dem Paket sucht.
- Wenn Sie das Artifact Registry-Repository mit der
index-url
konfiguriert haben und es sind keine anderen Paketindexe konfiguriert, sucht nur mit "pip" Ihr Artifact Registry-Repository für das Paket. - Wenn Sie ein virtuelles Repository verwenden, nutzt Artifact Registry die die in der Upstream-Richtlinie konfiguriert sind, um ein Paket auszuwählen, haben mehrere Upstream-Repositories die angeforderte Paketversion. Wenn zwei Repositories mit dem Paket dieselbe Priorität haben, Artifact Registry aus beiden Repositorys bereitstellen.
- Wenn Sie pip mit der Einstellung
extra-index-url
konfiguriert haben oder Sie haben mehrere Paketindexe konfiguriert, pip-Suchvorgänge pypi.org und alle anderen konfigurierten Paketindexe und wählt die neueste Version des Pakets aus.
Sie können index-url
oder extra-index-url
überschreiben
Einstellungen in der Datei mit den Anforderungen. Sie können
Flags für diese Einstellungen verwenden. Dieser Befehl
überschreibt index-url
mit einem Artifact Registry-Repository.
pip install --index-url https://us-east1-python.pkg.dev/my-project/python-repo/simple/ my-package
Weitere Informationen zum Installieren von Paketen finden Sie in der Dokumentation zur Python-Paketerstellung
Pakete und Versionen löschen
Repository-Modi: Standard, Remote
Sie können ein Paket und alle zugehörigen Versionen oder eine bestimmte Version löschen.
- Wenn Sie ein Paket löschen, kann dieser Vorgang nicht mehr rückgängig gemacht werden.
- Bei Remote-Repositories wird nur die im Cache gespeicherte Kopie des Pakets gelöscht. Die hat keine Auswirkungen auf die Upstream-Quelle. Wenn Sie ein im Cache gespeichertes Paket löschen, Artifact Registry wird es beim nächsten Mal herunterladen und im Cache Repository eine Anfrage für dieselbe Paketversion erhält.
Bevor Sie ein Paket oder eine Paketversion löschen, prüfen Sie, ob Sie alle wichtigen Abhängigkeiten davon kommuniziert oder behoben haben.
So löschen Sie ein Paket:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Wählen Sie das Paket aus, das Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie folgenden Befehl aus:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dabei gilt:
- PACKAGE ist der Name des Pakets im Repository.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
So löschen Sie Versionen eines Pakets:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie folgenden Befehl aus:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dabei gilt:
- PACKAGE ist der Name des Pakets im Repository.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Nächste Schritte
- Informationen zum Verwalten von Java-Paketen
- Weitere Informationen zum Verwalten von Node.js-Paketen
- Informationen zum Verwalten von Container-Images
- Einzelne Dateien in einem Paket herunterladen