Verwenden von Paketen aus Python-Paketindex (PyPI)

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

Mithilfe von Azure Artifacts können Entwickler Pakete sowohl aus Azure Artifacts-Feeds als auch aus externen Registrierungen wie PyPI.org veröffentlichen und nutzen. Indem Sie upstream-Quellen aktivieren, können Sie die Paketverwaltung mithilfe eines einzigen Feeds optimieren, um sowohl Ihre eigenen Pakete als auch die von öffentlichen Registrierungen verbrauchten Pakete zu verwalten. Nach der Aktivierung speichert Azure Artifacts automatisch eine Kopie eines pakets, das von einem Mitarbeiter oder höher aus einer Upstreamquelle installiert wurde. Dieser Artikel führt Sie durch das Einrichten Ihres Projekts und die Verwendung der Befehlszeile, um Python-Pakete von PyPI effizient zu nutzen.

In diesem Artikel lernen Sie Folgendes:

  • Aktivieren von Upstreamquellen für Ihren Feed
  • PyPI als upstream-Quelle hinzufügen
  • Einrichten des Projekts
  • Installieren von Paketen aus dem Python-Paketindex

Voraussetzungen

  • Ein Azure DevOps-organization und ein Projekt. Erstellen Sie ein organization oder ein Projekt, falls noch nicht geschehen.

  • Ein Azure Artifacts-Feed.

  • Laden Sie Python herunter.

Aktivieren von Upstreamquellen beim Erstellen eines neuen Feeds

Wenn Sie noch keinen Feed erstellt haben, führen Sie die folgenden Schritte aus, um eine neue zu erstellen. Stellen Sie sicher, dass Sie das Kontrollkästchen für upstream-Quellen aktivieren, um upstream-Quellen zu aktivieren. Wenn Sie bereits über einen Feed verfügen, fahren Sie mit dem nächsten Schritt fort, um PyPI als upstream-Quelle hinzuzufügen.

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

  2. Wählen Sie Artefakte und dann "Feed erstellen" aus, um einen neuen Feed zu erstellen.

  3. Geben Sie einen beschreibenden Namen für Ihren Feed ein, und definieren Sie die Sichtbarkeit (die angibt, wer Pakete innerhalb des Feeds anzeigen kann). Geben Sie den Bereich Ihres Feeds 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.

Hinzufügen von PyPI als neue upstream-Quelle

Wenn Sie während der Erstellung Ihres Feeds das Kontrollkästchen "Upstreamquellen" aktiviert haben, sollte PyPI automatisch als upstream-Quelle aufgenommen worden sein. Wenn nicht, können Sie sie manuell hinzufügen, indem Sie die folgenden Schritte ausführen:

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

  2. Wählen Sie Artefakte aus, und wählen Sie dann das Zahnradsymbolzahnradsymbol aus, um zu den Feedeinstellungen zu navigieren.

  3. Wählen Sie Upstreamquellen aus, und wählen Sie dann "Upstream hinzufügen" aus, um eine neue Upstreamquelle hinzuzufügen.

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

  5. Wählen Sie "Hinzufügen" aus, wenn Sie fertig sind, und wählen Sie dann "Speichern" in der oberen rechten Ecke aus, um Ihre Änderungen zu speichern.

    Screenshot, der zeigt, wie PyPI als neue upstream-Quelle hinzugefügt wird.

Authentifizieren mit Ihrem Feed

  1. Stellen Sie sicher, dass Sie Python heruntergeladen haben, und führen Sie dann 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 dem Bereich "Packen>lesen", um sich bei Azure DevOps zu authentifizieren. Wenn Sie zum ersten Mal eine Verbindung mit Azure DevOps herstellen, müssen Sie Ihre Anmeldeinformationen eingeben, wenn Sie dazu aufgefordert werden. Geben Sie Ihren Benutzernamen (eine beliebige Zeichenfolge) und Ihr persönliches Zugriffstoken in den angegebenen Feldern an. Diese Anmeldeinformationen werden lokal zwischengespeichert und automatisch verwendet, um Sie beim nächsten Verwenden des Diensts anzumelden.

  4. Navigieren Sie zu Ihrem Projektordner, und führen Sie dann den folgenden Befehl aus, um eine neue virtuelle Umgebung zu erstellen:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Erstellen Sie eine neue pip.ini Datei (Windows) oder eine pip.conf-Datei (Mac/Linux) in Ihrer virtuellen Umgebung, und fügen Sie dann den folgenden Codeausschnitt in Ihre Datei ein. Stellen Sie sicher, dass Sie die Platzhalter durch die entsprechenden Informationen ersetzen, und seien Sie vorsichtig, diese Datei nicht auf eine öffentliches Repository zu übernehmen, 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/
      
    • Feed mit Organisationsbereich:

      [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 wir nun unser Projekt für die Authentifizierung mit unserem Feed konfiguriert haben, können wir mit der Installation von Paketen aus dem PyPI-Upstream beginnen. In diesem Beispiel installieren Flaskwir Folgendes:

  1. Navigieren Sie in einem Eingabeaufforderungsfenster zu Ihrem Projektordner, und führen Sie den folgenden Befehl aus, um Ihre virtuelle Umgebung zu aktivieren. Ersetzen Sie den Platzhalter durch den Namen der virtuellen Umgebung, die Sie zuvor erstellt haben:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. Führen Sie den folgenden Befehl aus, um die in Ihrer virtuellen Umgebung installierten Pakete zu überprüfen:

    pip list
    
  3. Führen Sie den folgenden Befehl aus, um Flask zu installieren.

    pip install -U Flask
    
  4. Nachdem Ihr Paket installiert wurde, speichert Azure Artifacts eine Kopie dieses Pakets in Ihrem Feed. Ihr Paket sollte in Ihrem Feed verfügbar sein, wie im folgenden Screenshot dargestellt.

    Screenshot, der Pakete zeigt, die von PyPI upstream installiert wurden.