Python-Pakete in Artifact Registry speichern
In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Artifact Registry-Python-Repository einrichten, ein Paket hochladen und das Paket dann installieren.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Konto haben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
Cloud Shell starten
In dieser Kurzanleitung verwenden Sie Cloud Shell, eine Shell-Umgebung für die Verwaltung von Ressourcen, die in gehostet werden Google Cloud.
Die Google Cloud CLI und Python sind in Cloud Shell vorinstalliert. Die gcloud CLI bietet die primäre Befehlszeile für Google Cloud.
Cloud Shell aufrufen
Rufen Sie die Google Cloud Console auf.
Klicken Sie in der Google Cloud Symbolleiste derConsole auf Cloud Shell aktivieren:

In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.
Mit dieser Shell führen Sie gcloud-Befehle aus.
Erforderliche Pakete installieren
Twine ist ein Tool zum Veröffentlichen von Python-Paketen. Sie verwenden Twine, um ein Paket in Artifact Registry hochzuladen.
In dieser Kurzanleitung verwenden Sie die in Cloud Shell enthaltene Python-Installation. Diese Standardinstallation umfasst das Artifact Registry-Schlüsselbund-Backend, um die Authentifizierung bei Artifact Registry zu verarbeiten. Wenn Sie eine virtuelle Umgebung erstellen oder Python außerhalb von Cloud Shell einrichten, müssen Sie das Schlüsselbund-Backend für die Authentifizierung installieren. Weitere Informationen finden Sie unter Mit Schlüsselbund authentifizieren.
Führen Sie den folgenden Befehl aus, um Twine zu installieren:
pip install twine
Sie können jetzt Artifact Registry einrichten.
Repository erstellen
Erstellen Sie das Repository für Ihre Pakete.
Führen Sie den folgenden Befehl aus, um ein neues Python-Paket-Repository im aktuellen Projekt mit dem Namen
quickstart-python-repoam Standortus-central1zu erstellen.gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:
gcloud artifacts repositories listUm die
gcloud-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wertquickstart-python-repound für den Standard-Speicherortus-central1fest. Nachdem Sie die Werte festgelegt haben, müssen Sie diese nicht mehr ingcloud-Befehlen angeben, für die ein Repository oder Speicherort erforderlich ist.Um das Repository festzulegen, führen Sie folgenden Befehl aus:
gcloud config set artifacts/repository quickstart-python-repoFühren Sie den folgenden Befehl aus, um den Standort festzulegen:
gcloud config set artifacts/location us-central1Weitere Informationen zu diesen Befehlen finden Sie in der Dokumentation zu gcloud config set.
Authentifizierung konfigurieren
Das Artifact Registry-Schlüsselbund-Backend findet Ihre Anmeldedaten mithilfe von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Dabei wird in Ihrer Umgebung nach Anmeldedaten gesucht.
In dieser Kurzanleitung tun Sie Folgendes:
- Nutzeranmeldedaten für ADC generieren. In einer Produktionsumgebung sollten Sie ein Dienstkonto verwenden und Anmeldedaten mit der Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALSangeben. - Artifact Registry-Repository-URL in die Befehle
pipundtwineeinfügen, damit Sie pip und Twine nicht mit der Repository-URL konfigurieren müssen.
Führen Sie den folgenden Befehl aus, um Anmeldedaten für ADC zu generieren:
gcloud auth application-default login
Weitere Informationen zu Authentifizierungsmethoden und zum Hinzufügen von Repositories zur pip- und Twine-Konfiguration finden Sie unter Authentifizierung für Python-Paket-Repositories einrichten.
Beispielpaket abrufen
Wenn Sie ein Python-Projekt erstellen, werden die Verteilungsdateien in einem Unterverzeichnis dist in Ihrem Python-Projekt gespeichert. Um diese Kurzanleitung zu vereinfachen, laden Sie vorgefertigte Paketdateien herunter.
Erstellen Sie einen Python-Projektordner mit dem Namen
python-quickstart.mkdir python-quickstartErstellen Sie ein Unterverzeichnis mit dem Namen
distund wechseln Sie dann zu diesem Verzeichnis.mkdir python-quickstart/dist cd python-quickstart/distLaden Sie die Python-Beispielpakete herunter, die in der Anleitung Python-Projekte verpacken im Python Packaging User Guide verwendet werden.
pip download sampleprojectMit dem Befehl werden das Paket
sampleprojectund seine Abhängigkeitpeppercornheruntergeladen.
Paket in das Repository hochladen
Verwenden Sie Twine, um Ihre Pakete in Ihr Repository hochzuladen.
Wechseln Sie vom Verzeichnis
distzum übergeordneten Verzeichnispython-quickstart.cd ..Laden Sie die Pakete aus dem Verzeichnis
distin das Repository hoch.python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*Wenn Sie den Befehl mit
python3 -mausführen, sucht Python nach Twine und führt den Befehl aus. Wenn sich der Befehltwinein Ihrem Systempfad befindet, können Sie ihn ohnepython3 -mausführen.
Twine lädt sowohl sampleproject als auch peppercorn in Ihr Repository hoch.
Paket im Repository ansehen
Prüfen Sie, ob Ihr Paket hinzugefügt wurde, indem Sie die Pakete im Repository quickstart-python-repo auflisten.
Führen Sie dazu diesen Befehl aus:
gcloud artifacts packages list --repository=quickstart-python-repo
Um die Versionen für ein Paket aufzurufen, führen Sie folgenden Befehl aus:
gcloud artifacts versions list --package=PACKAGE
Dabei ist PACKAGE die Paket-ID.
Paket installieren
Führen Sie den folgenden Befehl aus, um das Paket zu installieren:
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
Fehlerbehebung
Standardmäßig geben Tools wie pip und Twine keine detaillierten Fehlermeldungen zurück.
Wenn ein Fehler auftritt, führen Sie den Befehl mit dem Flag --verbose noch einmal aus, um eine detailliertere Ausgabe zu erhalten. Weitere Informationen finden Sie unter
Fehlerbehebung bei Python-Paketen.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Prüfen Sie vor dem Entfernen des Repositorys, ob alle Pakete, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.
So löschen Sie das Repository:
Führen Sie den folgenden Befehl aus, um das Repository
quickstart-python-repozu löschen:gcloud artifacts repositories delete quickstart-python-repoWenn Sie die Einstellungen für das Standard-Repository und den Standard-Speicherort entfernen möchten, die Sie für die aktive
gcloud-Konfiguration festgelegt haben, führen Sie die folgenden Befehle aus:gcloud config unset artifacts/repository gcloud config unset artifacts/location
Nächste Schritte
- Authentifizierung konfigurieren
- Repositories verwalten
- Pakete verwalten
- Lesen Sie unser Infomaterial zu DevOps und informieren Sie sich über unser Forschungsprogramm.