Partilhar via


Usar pacotes do índice de pacotes Python (PyPI)

Serviços de DevOps do Azure | 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. Uma vez 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 usando a linha de comando para consumir eficientemente pacotes Python do PyPI.

Neste artigo, vai aprender a:

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

Pré-requisitos

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

  • Um feed de Artefatos do Azure.

  • Baixar Python.

Habilitar 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 para 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 em 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 seu feed e defina sua Visibilidade (indicando quem pode visualizar os pacotes dentro do 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ê selecionou a caixa de seleção 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 em 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 Guardar no canto superior direito para guardar as alterações.

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

Autenticar com o seu feed

  1. Certifique-se de ter baixado o Python e, em seguida, execute o seguinte comando para atualizar seu gerenciador de pacotes Python:

    python -m pip install --upgrade pip
    
  2. Execute o seguinte comando para instalar o conjunto de chaves Artefatos do Azure:

    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 fazer login 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 seguinte trecho 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 com 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 com 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 a partir 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 seguinte comando para ativar seu ambiente virtual. Substitua o espaço reservado pelo nome do ambiente virtual criado 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. Assim que o pacote estiver instalado, os Artefatos do Azure salvarão uma cópia desse pacote no 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 PyPI upstream.