Partilhar via


Publicar e baixar pacotes Python com o Azure Artifacts

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Usando o Azure Artifacts, você pode publicar e baixar pacotes de feeds e registros públicos, como o PyPi. Este guia de início rápido orienta você na criação de um feed, na configuração do projeto e no gerenciamento de pacotes Python no feed de Artefatos do Azure.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Baixe e instale Python.

Obter o código

  1. Se você não tem seu próprio projeto Python, você pode usar o seguinte projeto Python de exemplo. Caso contrário, você pode pular para a próxima seção:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Para construir sua distribuição de roda e origem, execute os seguintes comandos no diretório do projeto:

    pip install --upgrade build
    python -m build
    
  3. Se o seu projeto Python tiver um arquivo setup.py , você também pode construir seu pacote usando:

    python setup.py sdist bdist_wheel
    

Criar um feed

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

  2. Selecione Artefatos e, em seguida, selecione Criar feed.

  3. Forneça um Nome para o seu feed, escolha a opção Visibilidade que define quem pode visualizar os seus pacotes, marque Incluir pacotes de fontes públicas comuns se quiser incluir pacotes de fontes como nuget.org ou npmjs.com, e, para Escopo, decida se o feed deve ter o escopo definido para o seu projeto ou para toda a organização.

  4. Selecione Criar quando terminar.

    Captura de tela que mostra seleções para criar um novo feed nos Serviços de DevOps do Azure.

  1. Inicie sessão no seu servidor Azure DevOps e, em seguida, aceda ao seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar feed.

  3. Forneça um Nome para o seu feed, escolha a opção Visibilidade que define quem pode visualizar os seus pacotes, marque Incluir pacotes de fontes públicas comuns se quiser incluir pacotes de fontes como nuget.org ou npmjs.com, e, para Escopo, decida se o feed deve ter o escopo definido para o seu projeto ou para toda a organização.

  1. Selecione Criar quando terminar.

    Captura de tela que mostra seleções para criar um novo feed no Azure DevOps 2022.

  1. Selecione Criar quando terminar.

    Captura de tela que mostra seleções para criar um novo feed no Azure DevOps 2020.

Observação

Por padrão, o Serviço de Compilação para o projeto (por exemplo: projectName Build Service (orgName)) recebe a função Feed e Leitor Upstream (Colaborador) quando um novo feed é criado.

Conecte-se ao seu feed

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

  2. Selecione Artefatos, selecione seu feed no menu suspenso e, em seguida, selecione Conectar ao feed.

  3. Na seção Python , selecione twine.

  4. Se esta for a sua primeira vez usando Artefatos do Azure com cordéis, selecione Obter as ferramentas e siga as instruções para baixar o Python e instalar o Twine e o chaveiro de artefatos.

  5. Crie um arquivo pypirc em seu diretório inicial e cole o trecho fornecido na seção Configuração do projeto . O seu ficheiro deve ter o seguinte aspeto:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Observação

Se o seu arquivo .pypirc já incluir credenciais para o índice PyPI público, recomendamos remover a [pypi] seção para evitar a publicação acidental de pacotes privados no PyPI.

Publicar pacotes na sua feed

  1. No diretório do projeto, execute o seguinte comando para criar distribuições de origem e roda:

    python setup.py sdist bdist_wheel
    
    
  2. Para publicar seu pacote, use o comando abaixo. Certifique-se de usar o flag -r FEED_NAME para evitar publicar acidentalmente no PyPI.

    twine upload -r <FEED_NAME> dist/*
    

Instalar pacotes a partir do seu feed

  1. Para instalar pacotes a partir do feed, execute o seguinte comando no diretório do projeto:

    pip install
    
  2. Para instalar um pacote específico, substitua o espaço reservado pelo nome do pacote do feed:

    pip install <PACKAGE_NAME>