Desenvolvimento

Poetry: Gerenciando pacotes e ambientes virtuais em Python

Já usa o Poetry em seus projetos python? Vamos falar um pouco sobre e como achamos que ele pode ser um forte aliado para você gerenciar seus pacotes e ambientes virtuais em python, mas antes vamos a uma breve explicação do que ele é e onde ele se encaixa.

O que é o Poetry?

Poetry é um gerenciador de pacotes para projetos python, ele pode ser usado para instalar, atualizar e remover dependências, bem como gerenciar ambientes virtuais venv. Ele se encontra no github e foi criado em 2018. Você pode usar tanto o Python Package Index, Pypi, quanto o repositório privado.

Como instalar o Poetry

Para nosso tutorial vamos fazer um exemplo que funciona em Linux, macOS e Windows (WSL). Para Windows puro separamos um link no final do artigo. Antes de iniciar devemos garantir a versão que o alias python está apontando, para isso rode isso no seu terminal:

python --version
Bash

Se esse comando retornar um erro por exemplo: Command ‘python’ not found, did you mean ou que a versão é python 2, devemos ou criar um alias para que python responda por python3 ou apenas seguir o tutorial usando python3 em vez de python.

Agora seguindo a instalação:

curl -sSL https://install.python-poetry.org | python3 -
Bash

No final da instalação você deverá ver uma tela similar:

Instalação do Poetry

Com isso podemos rodar o seguinte comando para adicionar em nosso path e na sequência verificar a versão instalada:

export PATH="/home/danilodorgam/.local/bin:$PATH"
poetry --version
Bash

Criando um projeto com Poetry

Para nosso exemplo vamos criar um exemplo usando o próprio poetry que já cria um projeto exemplo com o seguinte comando:

poetry new projeto-exemplo
Bash

Ou caso você já tinha um projeto pré-existente poderá apenas iniciar ele desta forma:

cd projeto-exemplo
poetry init
Bash

Neste tutorial vamos seguir o primeiro caminho e após rodar esse comando vamos ter essa estrutura:

Projeto padrão gerado pelo Poetry

Explicando a estrutura acima vamos ter os seguintes arquivos:

  • poetry.lock: Ele é responsável por garantir a reprodutibilidade das dependências instaladas em um ambiente virtual específico.
  • pyproject.toml: Ele contém todas as informações do seu projeto como por exemplo licença, dependências, e scripts de build, run e afins da sua aplicação.

Criando Ambientes virtuais

Para ambientes virtuais venv podemos definir a versão do python e é o que vamos fazer, usando a versão 3.7 do Python, no seu caso use a versão disponível no sistema.

poetry env use python3.7
Bash

Como podem ver por padrão é criado o .venv na raiz do projeto, porém podemos customizar esse diretório para outro lugar. Recomendamos essa página da documentação.

Agora com o Virtualenv podemos alternar o shell para usar ele e podemos fazer isso de duas formas:

poetry shell
source /home/danilodorgam/projetos/projeto-exemplo/.venv/bin/activate
Bash

Também podemos listar todos nossos venvs e até remover se assim necessário veja como:

poetry env list --full-path #listagem das envs
poetry env remove /home/danilodorgam/projetos/projeto-exemplo/.venv #com base em um path de uma env remove ela
poetry env remove --all #remove todas as envs
Bash

Conclusão

Já conhecia? Entre ele e o Pip prefere qual? Deixe abaixo nos comentários o que acha dessa ferramenta e se quiser complementar o artigo também.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.