Condividi tramite


Usare pacchetti dall'indice dei pacchetti Python (PyPI)

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

Usando Azure Artifacts, gli sviluppatori possono pubblicare e usare pacchetti sia da feed di Azure Artifacts che da registri esterni, ad esempio PyPI.org. Abilitando le origini upstream, è possibile semplificare la gestione dei pacchetti, usando un singolo feed per gestire i propri pacchetti e quelli utilizzati dai registri pubblici. Dopo l'abilitazione, Azure Artifacts salva automaticamente una copia di qualsiasi pacchetto installato da un collaboratore o versione successiva da un'origine upstream. Questo articolo illustra come configurare il progetto e usare la riga di comando per usare in modo efficiente i pacchetti Python da PyPI.

In questo articolo si apprenderà come:

  • Abilitare le origini upstream per il feed
  • Aggiungere PyPI come origine upstream
  • Configurare il progetto
  • Installare pacchetti dall'indice dei pacchetti Python

Prerequisiti

  • Un'organizzazione Di Azure DevOps e un progetto. Creare un'organizzazione o un progetto, se non è già stato fatto.

  • Feed di Azure Artifacts.

  • Scaricare Python.

Abilitare le origini upstream durante la creazione di un nuovo feed

Se non è ancora stato creato un feed, seguire questa procedura per crearne uno nuovo. Assicurarsi di selezionare la casella relativa alle origini upstream per abilitare le origini upstream. Se si dispone già di un feed, passare al passaggio successivo per aggiungere PyPI come origine upstream.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi crea feed per creare un nuovo feed.

  3. Immettere un nome descrittivo per il feed e definirne la visibilità (che indica chi può visualizzare i pacchetti all'interno del feed). Specificare l'ambito del feed e quindi selezionare la casella di controllo Origini upstream per includere i pacchetti dai registri pubblici.

  4. Al termine, fare clic su Crea.

    Screenshot che mostra come creare un feed di necessità.

Aggiungere PyPI come nuova origine upstream

Se è stata selezionata la casella di controllo origini upstream durante la creazione del feed, PyPI dovrebbe essere stato incluso automaticamente come origine upstream. In caso contrario, è possibile aggiungerlo manualmente seguendo questa procedura:

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare l'icona a forma di ingranaggioIcona a forma di ingranaggio per passare a Impostazioni feed.

  3. Selezionare Origini upstream e quindi Aggiungi upstream per aggiungere una nuova origine upstream.

  4. Selezionare Origine pubblica e quindi Selezionare PyPI (https://pypi.org/) dal menu a discesa.

  5. Selezionare Aggiungi al termine e quindi selezionare Salva nell'angolo in alto a destra per salvare le modifiche.

    Screenshot che mostra come aggiungere PyPI come nuova origine upstream.

Eseguire l'autenticazione con il feed

  1. Assicurarsi di aver scaricato Python e quindi eseguire il comando seguente per aggiornare la gestione pacchetti Python:

    python -m pip install --upgrade pip
    
  2. Eseguire il comando seguente per installare il keyring di Azure Artifacts:

    pip install keyring artifacts-keyring
    
  3. Creare un token di accesso personale con ambito di lettura pacchetti> per l'autenticazione con Azure DevOps. La prima volta che ci si connette ad Azure DevOps, è necessario immettere le credenziali quando richiesto. Specificare il nome utente (qualsiasi stringa) e il token di accesso personale nei campi designati. Queste credenziali verranno memorizzate nella cache in locale e usate automaticamente per accedere alla successiva volta che si usa il servizio.

  4. Passare alla cartella del progetto e quindi eseguire il comando seguente per creare un nuovo ambiente virtuale:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Creare un nuovo file pip.ini (Windows) o un file pip.conf (Mac/Linux) nell'ambiente virtuale e quindi incollare il frammento di codice seguente nel file. Assicurarsi di sostituire i segnaposto con le informazioni appropriate e prestare attenzione a non eseguire il commit di questo file in un repository pubblico perché contiene il token di accesso personale.

    • Feed con ambito progetto:

      [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 con ambito organizzazione:

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

Installare pacchetti da PyPI

Ora che il progetto è stato configurato per l'autenticazione con il feed, è possibile iniziare a installare i pacchetti dall'upstream pyPI. In questo esempio si installerà Flask:

  1. In una finestra del prompt dei comandi passare alla cartella del progetto ed eseguire il comando seguente per attivare l'ambiente virtuale. Sostituire il segnaposto con il nome dell'ambiente virtuale creato in precedenza:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. Eseguire il comando seguente per controllare i pacchetti installati nell'ambiente virtuale:

    pip list
    
  3. Eseguire il comando seguente per installare Flask.

    pip install -U Flask
    
  4. Dopo aver installato il pacchetto, Azure Artifacts salverà una copia di questo pacchetto nel feed. Il pacchetto deve essere disponibile nel feed, come illustrato nello screenshot seguente.

    Screenshot che mostra i pacchetti installati da PyPI upstream.