Freigeben über


Pakete aus dem Python-Paketindex (PyPI) verwenden

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Mit Azure Artifacts können Entwickler einen einzelnen Feed verwenden, um ihre eigenen Pakete zu hosten sowie Pakete, die aus öffentlichen Registrierungen wie PyPI.org installiert wurden. Wenn upstream-Quellen aktiviert sind, speichert Azure Artifacts automatisch eine Kopie eines Pakets, das von einer Upstreamquelle von einem Mitarbeiter oder höher installiert wurde. Dieser Artikel führt Sie durch das Einrichten Ihres Projekts und die Verwendung der Befehlszeile zum Verwenden von Python-Paketen aus dem Python-Paketindex (PyPI).

Voraussetzungen

Produkt Anforderungen
Azure DevOps - Eine Azure DevOps Organisation.
- Ein Azure DevOps Projekt.
- Laden Sie Pythonherunter und installieren Sie sie.

Erstellen eines neuen Feeds und Hinzufügen öffentlicher Upstreams

Wenn Sie noch nicht über einen Feed verfügen, führen Sie die folgenden Schritte aus, um eine zu erstellen und Upstream-Quellen zu aktivieren. Fahren Sie andernfalls mit dem nächsten Schritt fort, um PyPI als Upstreamquelle hinzuzufügen.

  1. Melden Sie sich bei Azure DevOps an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann " Feed erstellen" aus.

  3. Geben Sie einen beschreibenden Namen für Ihren Feed ein, und legen Sie dessen Sichtbarkeit fest. Geben Sie den Bereich an, und aktivieren Sie dann das Kontrollkästchen "Upstreamquellen ", um Pakete aus öffentlichen Registrierungen einzuschließen.

  4. Wählen Sie Erstellen, wenn Sie fertig sind.

    Screenshot, der zeigt, wie Sie einen benötigten Feed erstellen und upstream-Quellen in Azure Artifacts aktivieren.

PyPI upstream hinzufügen

Wenn Sie upstream-Quellen beim Erstellen Ihres Feeds aktiviert haben, sollte PyPI automatisch als Upstreamquelle hinzugefügt worden sein. Andernfalls können Sie sie manuell hinzufügen, indem Sie die folgenden Schritte ausführen:

  1. Melden Sie sich bei Azure DevOps an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte aus, und wählen Sie dann das Zahnradsymbol aus, um Feed-Einstellungen zu öffnen.

  3. Wählen Sie Upstream-Quellen und dann Upstream hinzufügen aus.

  4. Wählen Sie "Öffentliche Quelle" und dann "PyPI (https://pypi.org/) " aus der Dropdownliste aus.

  5. Wählen Sie "Hinzufügen" und dann " Speichern" in der oberen rechten Ecke aus, um Ihre Änderungen anzuwenden.

Authentifizieren mit Ihrem Feed

Stellen Sie sicher, dass Sie Python aus den Voraussetzungen installiert haben, und führen Sie dann die folgenden Schritte aus, um eine Verbindung mit Ihrem Feed herzustellen:

  1. Führen Sie den folgenden Befehl aus, um den Python-Paket-Manager zu aktualisieren:

    python -m pip install --upgrade pip
    
  2. Führen Sie den folgenden Befehl aus, um das Azure Artifacts-Schlüsselring zu installieren:

    pip install keyring artifacts-keyring
    
  3. Erstellen Sie ein persönliches Zugriffstoken mit der Packaging>Read-Berechtigung, um sich bei Azure DevOps zu authentifizieren. Wenn Sie zum ersten Mal eine Verbindung mit Azure DevOps herstellen, werden Sie zur Eingabe von Anmeldeinformationen aufgefordert. Geben Sie einen beliebigen Wert für den Benutzernamen ein, und verwenden Sie Ihren PAT als Kennwort. Diese Anmeldeinformationen werden lokal zwischengespeichert und bei der nächsten Authentifizierung wiederverwendet.

  4. Navigieren Sie zu Ihrem Projektverzeichnis, und erstellen Sie dann eine virtuelle Umgebung:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Erstellen Sie in Ihrer virtuellen Umgebung eine pip.ini Datei (Windows) oder eine pip.conf-Datei (macOS/Linux), und fügen Sie dann den folgenden Codeausschnitt hinzu. Ersetzen Sie die Platzhalter durch die entsprechenden Werte. Übernehmen Sie diese Datei nicht in ein öffentliches Repository, da sie Ihr persönliches Zugriffstoken enthält.

    • Projektbezogener Feed:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • Organisationsbezogener Feed:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

Installieren von Paketen von PyPI

Nachdem Sie sich nun mit Ihrem Feed authentifiziert haben, können Sie Pakete aus dem PyPI-Upstream wie gewohnt mit Pip installieren. Jedes paket, das Sie installieren, wird automatisch in Ihrem Azure Artifacts-Feed gespeichert.

In diesem Beispiel installieren Sie Anforderungen, eine beliebte HTTP-Bibliothek für Python.

Hinweis

Um Pakete aus upstream-Quellen zu speichern, müssen Sie über die Rolle " Feed" und "Upstream Reader" (Mitarbeiter) oder höher verfügen. Weitere Informationen finden Sie unter Verwalten von Berechtigungen .

  1. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu Ihrem Projektverzeichnis, und aktivieren Sie dann Ihre virtuelle Umgebung. Ersetzen Sie den Platzhalter durch den Namen der virtuellen Umgebung, die Sie zuvor erstellt haben:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate
    
  2. Führen Sie den folgenden Befehl aus, um das Anforderungspaket von PyPI zu installieren.

    pip install requests
    
  3. Nach Abschluss der Installation speichert Azure Artifacts eine Kopie des Pakets in Ihrem Feed. Navigieren Sie zu Ihrem Feed, um zu überprüfen, ob das Paket verfügbar ist, wie im folgenden Screenshot gezeigt.

    Screenshot des anforderungspakets, das von PyPI upstream installiert ist.