Python-Pakete in Artifact Registry speichern

In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Python-Repository für Artifact Registry einrichten, ein Paket hochladen und das Paket dann installieren.

Hinweise

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Zu IAM
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry API.

    Enable the API

  9. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Zu IAM
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.

Cloud Shell starten

In dieser Kurzanleitung verwenden Sie Cloud Shell, eine Shell-Umgebung für die Verwaltung von Ressourcen, die inGoogle Cloudgehostet werden.

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

  1. Rufen Sie die Google Cloud Console auf.

    Google Cloud console

  2. Klicken Sie in der Google Cloud Symbolleiste der Console 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-Keyring-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 Keyring-Backend für die Authentifizierung installieren. Weitere Informationen finden Sie unter Mit Keyring 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.

  1. Führen Sie den folgenden Befehl aus, um ein neues Python-Package-Repository im aktuellen Projekt mit dem Namen quickstart-python-repo am Speicherort us-central1 zu erstellen.

    gcloud artifacts repositories create quickstart-python-repo \
        --repository-format=python \
        --location=us-central1 \
        --description="Python package repository"
    
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:

    gcloud artifacts repositories list
    
  3. Um die gcloud-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wert quickstart-python-repo und für den Standard-Speicherort us-central1 fest. Nachdem Sie die Werte festgelegt haben, müssen Sie diese nicht mehr in gcloud-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-repo
    

    Führen Sie den folgenden Befehl aus, um den Standort festzulegen:

    gcloud config set artifacts/location us-central1
    

    Weitere 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). Das ist eine Strategie, die in Ihrer Umgebung nach Anmeldedaten sucht.

In dieser Kurzanleitung werden folgende Schritte erläutert:

  • Nutzeranmeldedaten für ADC generieren In einer Produktionsumgebung sollten Sie ein Dienstkonto verwenden und Anmeldedaten mit der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS angeben.
  • Fügen Sie die Artifact Registry-Repository-URL in die Befehle pip und twine ein, 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 Repositorys zur Pip- und Twine-Konfiguration finden Sie unter Authentifizierung für Python-Paket-Repositorys einrichten.

Beispielpaket abrufen

Wenn Sie ein Python-Projekt erstellen, werden die Vertriebsdateien in einem Unterverzeichnis dist in Ihrem Python-Projekt gespeichert. Um diese Kurzanleitung zu vereinfachen, laden Sie vorgefertigte Paketdateien herunter.

  1. Erstellen Sie einen Python-Projektordner mit dem Namen python-quickstart.

    mkdir python-quickstart
    
  2. Erstellen Sie ein Unterverzeichnis mit dem Namen dist und wechseln Sie dann zu diesem Verzeichnis.

    mkdir python-quickstart/dist
    cd python-quickstart/dist
    
  3. Laden Sie die Python-Beispielpakete herunter, die in der Anleitung Packaging Python Projects (Python-Projekte verpacken) im Python Packaging User Guide verwendet werden.

    pip download sampleproject
    

    Mit dem Befehl werden das Paket sampleproject und seine Abhängigkeit peppercorn heruntergeladen.

Paket in das Repository hochladen

Verwenden Sie Twine, um Ihre Pakete in Ihr Repository hochzuladen.

  1. Wechseln Sie vom Verzeichnis dist in das übergeordnete Verzeichnis python-quickstart.

    cd ..
    
  2. Laden Sie die Pakete aus dem Verzeichnis dist in 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 -m ausführen, sucht Python nach Twine und führt den Befehl aus. Wenn sich der Befehl twine in Ihrem Systempfad befindet, können Sie ihn ohne python3 -m ausführen.

Twine lädt sowohl sampleproject als auch peppercorn in Ihr Repository hoch.

Paket im Repository ansehen

So prüfen Sie, ob das Paket hinzugefügt wurde: Listen Sie die Pakete im quickstart-python-repo-Repository auf.

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:

  1. Führen Sie den folgenden Befehl aus, um das Repository quickstart-python-repo zu löschen:

    gcloud artifacts repositories delete quickstart-python-repo
    
  2. Wenn 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