Compartilhar via


Usar pacotes do índice de pacotes do Python (PyPI)

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

Usando o Azure Artifacts, os desenvolvedores podem publicar e consumir pacotes de feeds do Azure Artifacts e registros externos, como PyPI.org. Ao habilitar fontes upstream, você pode simplificar o gerenciamento de pacotes, usando um único feed para gerenciar seus próprios pacotes e aqueles consumidos de registros públicos. Depois de habilitado, o Azure Artifacts salva automaticamente uma cópia de qualquer pacote instalado por um colaborador ou superior de uma fonte upstream. Este artigo irá guiá-lo através da configuração do seu projeto e do uso da linha de comando para consumir com eficiência os pacotes Python do PyPI.

Neste artigo, você aprenderá a:

  • Ativar fontes upstream para seu feed
  • Adicionar PyPI como uma fonte upstream
  • Configure seu projeto
  • Instalar pacotes do índice de pacotes do Python

Pré-requisitos

  • Uma organização do Azure DevOps e um projeto. Crie uma organização ou um projeto , caso ainda não tenha feito isso.

  • Um feed do Azure Artifacts.

  • Baixe o Python.

Ativar fontes upstream ao criar um novo feed

Se você ainda não criou um feed, siga as etapas abaixo para criar um novo. Certifique-se de marcar a caixa de fontes upstream para habilitar fontes upstream. Se você já tiver um feed, pule para a próxima etapa para adicionar o PyPI como uma fonte upstream.

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar Feed para criar um novo feed.

  3. Insira um Nome descritivo para o feed e defina sua Visibilidade (indicando quem pode visualizar os pacotes no feed). Especifique o Escopo do seu feed e marque a caixa de seleção Fontes upstream para incluir pacotes de registros públicos.

  4. Selecione Criar quando terminar.

    Uma captura de tela mostrando como criar um feed de necessidades.

Adicionar PyPI como uma nova fonte upstream

Se você marcou a caixa de seleção de fontes upstream durante a criação do seu feed, o PyPI deve ter sido incluído automaticamente como uma fonte upstream. Caso contrário, você pode adicioná-lo manualmente seguindo estas etapas:

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o íconeícone de engrenagem de engrenagem para navegar até Configurações de feed.

  3. Selecione Fontes upstream e, em seguida, selecione Adicionar upstream para adicionar uma nova fonte upstream.

  4. Selecione Fonte pública e, em seguida, selecione PyPI (https://pypi.org/) no menu suspenso.

  5. Selecione Adicionar quando terminar e, em seguida, selecione Salvar no canto superior direito para salvar suas alterações.

    Uma captura de tela exibindo como adicionar o PyPI como uma nova fonte upstream.

Autenticar com seu feed

  1. Verifique se você baixou o Python e execute o seguinte comando para atualizar o gerenciador de pacotes do Python:

    python -m pip install --upgrade pip
    
  2. Execute o seguinte comando para instalar o chaveiro do Azure Artifacts:

    pip install keyring artifacts-keyring
    
  3. Crie um token de acesso pessoal com o escopo de leitura de empacotamento>para autenticar com o Azure DevOps. Na primeira vez que você se conectar ao Azure DevOps, precisará inserir suas credenciais quando solicitado. Forneça seu nome de usuário (qualquer string) e seu token de acesso pessoal nos campos designados. Essas credenciais serão armazenadas em cache localmente e usadas automaticamente para conectá-lo na próxima vez que você usar o serviço.

  4. Navegue até a pasta do projeto e execute o seguinte comando para criar um novo ambiente virtual:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Crie um novo arquivo pip.ini (Windows) ou um arquivo pip.conf (Mac/Linux) em seu ambiente virtual e cole o snippet a seguir em seu arquivo. Certifique-se de substituir os espaços reservados pelas informações apropriadas e tenha cuidado para não confirmar esse arquivo em um repositório público, pois ele contém seu token de acesso pessoal.

    • Feed no escopo do projeto:

      [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 no escopo da organização:

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

Instalar pacotes do PyPI

Agora que configuramos nosso projeto para autenticar com nosso feed, podemos começar a instalar pacotes do upstream do PyPI. Neste exemplo, vamos instalar Flask:

  1. Em uma janela de prompt de comando, navegue até a pasta do projeto e execute o comando a seguir para ativar seu ambiente virtual. Substitua o espaço reservado pelo nome do ambiente virtual que você criou anteriormente:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. Execute o seguinte comando para verificar os pacotes instalados em seu ambiente virtual:

    pip list
    
  3. Execute o seguinte comando para instalar o Flask.

    pip install -U Flask
    
  4. Depois que o pacote for instalado, o Azure Artifacts salvará uma cópia desse pacote em seu feed. Seu pacote deve estar disponível em seu feed, conforme mostrado na captura de tela abaixo.

    Uma captura de tela mostrando pacotes instalados a partir do upstream do PyPI.