Desenvolvedores de Software program precisam constantemente aprender novas tecnologias e fazer novos projetos. Quanto mais se faz isso e mais tempo passa, maiores são as possibilities de um conflito de bibliotecas ou erros de uma nova versão de código acontecer.
No ecossistema Python isso é resolvido com a abordagem dos ambientes virtuais. No primeiro artigo que escrevi sobre o assunto em https://style-tricks.com/nobrelucas/administrando-ambientes-virtuais-com-conda-54l9 falei mais profundamente sobre esse assunto e introduzi o administrador de ambientes virtuais Conda.
Nesse artigo, busco introduzir um criador de ambientes virtuais muito mais simples que serve para a maioria dos projetos de pequeno e médio porte, o Venv.
Word que diferente do Conda, ele não oferece nenhum suporte para a administração dos ambientes virtuais, somente para a sua criação.
Instalação
Primeira vantagem do Venv: ele já vem instalado com o Python, então nada mais é preciso ser feito para usar ele 🙂.
Criando ambiente digital
Para criar um ambiente digital com Venv basta usar um comando muito simples:
python3 -m venv {nome_do_env}
Vamos explorar esse comando por partes:
→ python3 invoca o interpretador Python que será responsável por executar o código do módulo venv
→ -m indica que o código que vai ser executado pelo interpretador Python será um módulo
→ venv é o módulo venv, responsável pela criação do ambiente digital
→ {nome_do_env}, como auto explicativo, nomeia o diretório onde o ambiente digital vai ser criado
E assim temos nosso ambiente digital. Vamos fazer algo prático
Na prática
Vamos criar um ambiente chamado “teste” em um diretório de estudo “criando-venv”
python3 -m venv teste
Se você estiver em um ambiente Linux, digite ls
no terminal para ver o diretório com o ambiente criado.
Para ativar o ambiente, basta usar o comando:
supply teste/bin/activate
Para sair do ambiente basta escrever o comando deactivate
no terminal ou fechar o terminal:
Instalando bibliotecas
Word que as bibliotecas instaladas são somente as básicas para começar a instalar outras, ou seja o seu ambiente está limpo e livre, pronto para começar a ser configurado com novas bibliotecas.
Então agora é só instalar as bibliotecas que você precisa para o seu projeto.
Digamos que vamos fazer uma API com Flask e instalamos ele com pip:
pip set up Flask
Após a instalação, nosso ambiente terá as seguintes bibliotecas:
Agora é só programar
Persistindo o ambiente
Para que você possa trabalhar colaborativamente com outros desenvolvedores. Eles vão precisar criar um ambiente digital e instalar as exatas mesmas bibliotecas que você, na exata mesma versão.
Ao invés de você mandar um print como o que eu mostrei anteriormente para instalar manualmente cada biblioteca, uma de cada vez, você pode criar um arquivo de requerimentos, o necessities.txt. Para isso, basta usar o comando:
pip freeze > necessities.txt
Isso vai criar um arquivo txt com todas as bibliotecas que você está usando no projeto. Lembre de sempre atualizar seu necessities.txt com as novas bibliotecas que você instalar no caminho.
Instalando as bibliotecas do necessities.txt
Caso você seja o outro desenvolvedor que recebeu o necessities.txt. Para instalar essas bibliotecas basta você primeiro criar um ambiente digital na sua máquina, ativar ele e depois usar o comando:
pip set up -r necessities.txt
E você já está pronto para trabalhar também
Conclusão
Com esse artigo você já é capaz de usar o Venv para criar ambientes virtuais para projetos de pequeno e médio porte.
Se você quiser saber mais sobre ambientes virtuais, meu primeiro artigo sobre o assunto tem mais detalhes sobre eles.
Dúvidas, sugestões, correções e críticas são muito bem vindas na sessão de comentários abaixo. Espero poder encontrar você nos meus próximos artigos 😀. Até a próxima!