Python-Pakete in Artifact Registry speichern
In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Python-Repository in Artifact Registry einrichten, ein Paket hochladen und dann installieren.
Hinweis
- 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.
Cloud Shell starten
In dieser Kurzanleitung verwenden Sie Cloud Shell, eine Shell-Umgebung für die Verwaltung von Ressourcen, die in Google Cloud gehostet werden.
In Cloud Shell ist das Google Cloud CLI und Python. 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 Symbolleiste der Google Cloud 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 für Veröffentlichen von Python-Paketen. Mit Twine laden Sie ein Paket in Artifact Registry.
In dieser Kurzanleitung verwenden Sie die in Cloud Shell enthaltene Python-Installation. Diese Standardinstallation umfasst das Artifact Registry-Schlüsselbund-Backend, das die Authentifizierung bei Artifact Registry verarbeitet. 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 Schlüsselbund authentifizieren.
Führen Sie den folgenden Befehl aus, um Twine zu installieren:
pip install twine
Sie können Artifact Registry jetzt 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
quickstart-python-repo
am Speicherortus-central1
zu 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 list
Um die
gcloud
-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wertquickstart-python-repo
und für den Standard-Speicherortus-central1
fest. 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-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 sucht Ihre Anmeldedaten mithilfe von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC), eine Strategie, die nach Anmeldedaten sucht in Ihrer Umgebung.
In dieser Kurzanleitung lernen Sie Folgendes:
- Generieren Sie Nutzeranmeldedaten für ADC. In einer Produktion
sollten Sie ein Dienstkonto verwenden und Anmeldedaten
Die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
- Fügen Sie die Artifact Registry-Repository-URL in die Befehle
pip
undtwine
ein, damit Sie pip und Twine nicht mit der Repository-URL konfigurieren müssen.
Führen Sie 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 Distributionsdateien in einem dist
-Unterverzeichnis in Ihrem Python-Projekt gespeichert. Zur Vereinfachung dieser Kurzanleitung laden Sie vorkonfigurierte Paketdateien herunter.
Erstellen Sie einen Python-Projektordner mit dem Namen
python-quickstart
.mkdir python-quickstart
Erstellen Sie ein Unterverzeichnis mit dem Namen
dist
und wechseln Sie dann zu diesem Verzeichnis.mkdir python-quickstart/dist cd python-quickstart/dist
Python-Beispielpakete herunterladen, die in der Python-Paketerstellung verwendet werden Anleitung zum Verpacken von Python-Projekten im Nutzerhandbuch.
pip download sampleproject
Mit dem Befehl werden das
sampleproject
-Paket und seine Abhängigkeitpeppercorn
heruntergeladen.
Paket in das Repository hochladen
Verwenden Sie Twine, um Ihre Pakete in Ihr Repository hochzuladen.
Wechseln Sie vom Verzeichnis
dist
in das übergeordnete Verzeichnispython-quickstart
. -Verzeichnis.cd ..
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 Befehltwine
in Ihrem Systempfad befindet, können Sie ohnepython3 -m
ausführen.
Twine lädt sowohl sampleproject
als auch peppercorn
in Ihr Repository hoch.
Paket im Repository ansehen
Um zu prüfen, 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
Weitere Informationen finden Sie unter Fehlerbehebung für Python-Pakete.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung 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-repo
zu löschen:gcloud artifacts repositories delete quickstart-python-repo
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
- Authentifizierung konfigurieren
- Repositories verwalten
- Pakete verwalten
- Lesen Sie unser Infomaterial zu DevOps und informieren Sie sich über unser Forschungsprogramm.