Publicar e consumir pacotes Python usando a linha de comando (CLI)
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Os Artefatos do Azure permitem que você crie, hospede e compartilhe pacotes Python com sua equipe ou organização. Você pode publicar e consumir pacotes Python usando um feed de Artefatos do Azure a partir da linha de comando em seu ambiente de desenvolvimento local.
Neste artigo, vai aprender a:
- Crie um feed de Artefatos do Azure.
- Configure a autenticação com o pacote de chaveamento de artefatos Python ou com um token de acesso pessoal (PAT).
- Publique pacotes Python no seu feed.
- Consuma pacotes Python do seu feed.
Para publicar e consumir pacotes em seus Pipelines do Azure, consulte Publicar pacotes Python com o Azure Pipelines.
Pré-requisitos
Para executar as seguintes etapas, você deve ter:
- Uma organização Azure DevOps. Crie um gratuitamente.
- Um token de acesso pessoal (PAT) com escopo de leitura de embalagem>. Para criar um, consulte Criar um PAT.
- Um projeto de DevOps do Azure. Se você não tiver um, crie um projeto.
- Python 3.9 ou posterior instalado em sua máquina local. Faça o download do Python aqui.
- Pip 24.0 e Twine 5.0.0 ou superior.
- Um pacote Python para publicar a partir da sua máquina local para o seu feed.
- Se estiver usando o pacote Python de exemplo:
- Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
- git instalado em sua máquina local.
- Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
- Acesso a uma coleção do Azure DevOps Server.
- Um token de acesso pessoal (PAT) com escopo de leitura de embalagem>. Para criar um, consulte Criar um PAT.
- Um projeto de DevOps do Azure. Se você não tiver um, crie um projeto.
- Python 3.9 ou posterior instalado em seu ambiente de desenvolvimento local.
- Pip 24.0 e Twine 5.0.0 ou superior.
- Se estiver usando o pacote Python de exemplo:
- Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
- git instalado em sua máquina local.
Criar um feed de Artefatos do Azure
Se você não tiver um feed, use as etapas a seguir para criar um.
Inicie sessão na sua organização do Azure DevOps e, em seguida, aceda ao seu projeto.
Selecione Artefatos e, em seguida, selecione Criar feed.
Insira as seguintes informações para o seu feed:
- Insira um Nome descritivo para seu feed.
- Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
- Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
- Especifique o Escopo do seu feed.
Selecione Criar.
Vá para sua coleção de DevOps do Azure, selecione seu projeto.
Selecione Artefatos e, em seguida, selecione Criar feed.
Insira as seguintes informações para o seu feed:
- Insira um Nome descritivo para seu feed.
- Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
- Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
- Especifique o Escopo do seu feed.
Selecione Criar.
Vá para sua coleção de DevOps do Azure, selecione seu projeto.
Selecione Artefatos e, em seguida, selecione Criar feed para criar um novo feed.
Insira as seguintes informações para o seu feed:
- Insira um Nome descritivo para seu feed.
- Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
- Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
- Especifique o Escopo do seu feed.
Selecione Criar.
Vá para sua coleção de DevOps do Azure, selecione seu projeto.
Selecione Artefatos e, em seguida, selecione Criar feed para criar um novo feed.
Insira as seguintes informações para o seu feed:
- Insira um Nome descritivo para seu feed.
- Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
- Escolha se deseja usar pacotes de fontes públicas, como pypi.org.
Selecione Criar.
Criar um pacote Python local
Você precisa de um pacote Python para publicar em seu feed. Se você não tiver um pacote para publicar, poderá clonar um pacote Python de exemplo do GitHub.
Clone o pacote Python de exemplo
Use as etapas a seguir para usar o pacote Python de exemplo do GitHub.
Vá para o seguinte repositório GitHub:
https://github.com/microsoft/python-package-template
Fork o repositório para sua conta GitHub.
Vá para o repositório bifurcado e selecione Código.
Copie o URL do repositório bifurcado.
A partir de uma CLI na máquina local, clone o repositório para a máquina local usando a URL copiada do repositório bifurcado.
git clone <REPOSITORY_URL>
Altere o diretório para o repositório clonado.
cd python-package-template
Construa o seu pacote
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
Se seu projeto Python tiver um setup.py
arquivo, você pode usar o seguinte comando para construir seu pacote:
python setup.py sdist bdist_wheel
Ligar ao feed
Há duas maneiras principais de se conectar a um feed para publicar ou consumir seus pacotes Python:
- Use o pacote artifacts-keyring, que configura automaticamente a autenticação para você.
- Configure manualmente as credenciais com um PAT.
Nota
artifacts-keyring não é suportado em versões mais recentes do Ubuntu.
Nota
Se a sua organização estiver a utilizar uma firewall ou um servidor proxy, certifique-se de que permite URLs de Domínio de Artefactos do Azure e endereços IP.
Configurar chaveiro de artefatos para autenticação
O pacote artifacts-keyring funciona com o pacote de chaveiro Python para permitir que você configure a autenticação para publicar e consumir seus pacotes Python de e para o feed. Tanto o pip quanto o twine usam o pacote de chaveiro Python para encontrar credenciais.
Importante
Você deve ter pip 19.2 e fio 1.13.0 ou superior para usar artefatos-chaveiro. Para obter mais informações, consulte Requisitos de uso.
Se você optar por usar artifacts-keyring, você deve instalar o pacote antes de poder usá-lo.
Em uma janela de prompt de comando elevada, execute o seguinte comando para instalar o pacote artifacts-keyring:
pip install artifacts-keyring
Publicar pacotes Python
Você pode publicar pacotes Python em seu feed usando o pacote artifacts-keyring ou a autenticação PAT.
Publicar pacotes com chaveiro de artefatos
Selecione Conectar ao feed do seu feed.
Selecione o fio e copie o URL do repositório na seção Configuração do projeto.
Para publicar um pacote no feed, execute o seguinte comando substituindo <FEED_URL> pelo URL do repositório copiado da caixa de diálogo Conectar ao feed :
twine upload --repository-url <FEED_URL> dist/*
Publicar pacotes com autenticação PAT
Use o twine para carregar seu pacote no feed de Artefatos do Azure.
Vá para seu Projeto de DevOps do Azure e selecione Artefatos.
Selecione seu feed e selecione Conectar ao feed.
Selecione o fio na seção Python .
Na sua máquina de desenvolvimento, certifique-se de que o fio está instalado.
pip install --upgrade twine
Siga as instruções na seção Configuração do projeto para configurar seu
.pypirc
arquivo.Para evitar a necessidade de inserir seu token de acesso pessoal toda vez que publicar um pacote, você pode adicionar suas credenciais ao
.pypirc
arquivo. Certifique-se de não verificar seu token de acesso pessoal em um repositório público.Exemplo de um
.pypirc
ficheiro com credenciais:[distutils] Index-servers = <FEED_NAME> [<FEED_NAME>] Repository = <FEED_URL> username = <FEED_NAME> password = <YOUR_PERSONAL_ACCESS_TOKEN>
Para carregar o pacote, execute o seguinte comando no diretório do projeto, substituindo <FEED_NAME> pelo nome do feed. No Windows, talvez seja necessário especificar o local do
pypirc
arquivo com a--config-file
opção.twine upload --repository <FEED_NAME> dist/*
Consumir pacotes Python
Você pode consumir pacotes Python do seu feed usando o pacote artifacts-keyring ou a autenticação PAT.
Consuma pacotes com chaveiro de artefatos
No seu projeto, selecione Artefatos e, em seguida, selecione seu feed.
Selecione Conectar ao feed.
Selecione pip na seção Python .
Prepare seu ambiente Python local.
Certifique-se de que o pip está instalado e atualizado:
python -m pip install --upgrade pip
Para criar e ativar um ambiente virtual Python:
python -m venv myenv myenv/Scripts/activate
Copie o
index-url
da seção Configuração do projeto da caixa de diálogo Conectar ao feed .Para instalar um pacote a partir do feed, execute o seguinte comando substituindo <PACKAGE_NAME> pelo nome do pacote do feed e <INDEX_URL> pelo URL de índice copiado da caixa de diálogo Conectar ao feed :
pip install <PACKAGE_NAME> --index-url <INDEX_URL>
Quando você se conecta ao Azure DevOps pela primeira vez, são solicitadas credenciais. Insira seu nome de usuário (qualquer string) e seu token de acesso pessoal nos campos apropriados. As credenciais serão armazenadas em cache localmente e usadas para entrar automaticamente na próxima vez que você usar o serviço.
Consumir pacotes com autenticação PAT
Vá para seu Projeto de DevOps do Azure e selecione Artefatos.
Selecione seu feed e selecione Conectar ao feed.
Selecione pip na seção Python .
Prepare seu ambiente Python local.
Certifique-se de que o pip está instalado e atualizado:
python -m pip install --upgrade pip
Crie e ative um ambiente virtual Python:
python -m venv myenv myenv/Scripts/activate
Adicione um arquivo pip.ini (Windows) ou pip.conf (Mac/Linux) ao diretório raiz do seu ambiente virtual. Copie o conteúdo da seção Configuração do projeto da caixa de diálogo Conectar ao feed e adicione-o ao seu arquivo pip.ini ou pip.conf .
Para evitar a necessidade de inserir seu token de acesso pessoal toda vez que você instalar um pacote do seu feed, você pode adicionar suas credenciais ao arquivo pip.ini ou pip.conf . Certifique-se de não verificar seu token de acesso pessoal em um repositório público.
Exemplo de um arquivo pip.ini ou pip.conf com credenciais:
[global] index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
Para instalar o pacote, execute o seguinte comando substituindo <PACKAGE_NAME> pelo nome do pacote do feed.
pip install <PACKAGE_NAME>