Ambientes virtuais em Python com venv
Criando ambientes virtuais em Python com venv
O que é um Ambiente Virtual?
Um ambiente virtual é uma instância isolada do Python, que permite instalar pacotes e dependências sem interferir no sistema global ou em outros projetos. Imagine que você está trabalhando em dois projetos diferentes: o Projeto A usa a versão 1.18 do NumPy e o Projeto B usa a versão 1.21. Se você instalar tudo no Python "global", uma dessas versões pode sobrescrever a outra, criando conflitos. Com um ambiente virtual, você cria uma espécie de bolha isolada onde cada projeto pode ter suas próprias bibliotecas e versões específicas.
Por que usar Ambientes Virtuais?
- Evitar Conflitos de Dependências: Cada projeto pode ter suas próprias versões de pacotes e bibliotecas.
- Organização: Facilita a manutenção de projetos, já que cada um possui suas dependências bem definidas.
- Facilidade de Deploy: Ao mover seu projeto para outro ambiente (como um servidor ou máquina de desenvolvimento), você sabe exatamente quais pacotes estão sendo usados.
- Compatibilidade: Ambientes diferentes podem rodar em versões diferentes de Python, ajudando a lidar com projetos legados.
Agora que já sabemos o que é e por que usar, vamos ver como configurar um ambiente virtual no Python!
Criando um Ambiente Virtual com venv
Pré-requisito
Antes de começar, é importante verificar se você já tem o Python instalado na versão 3.3 ou superior, que inclui o módulo venv
. Para isso, rode o comando:
python --version
Passo 1 - Criar o ambiente virtual
Escolha o diretório onde você quer criar seu ambiente virtual (geralmente na pasta do projeto) e execute o seguinte comando:
python -m venv env
Isso cria uma nova pasta chamada env no seu projeto, onde todas as dependências e pacotes serão instalados.
Passo 2 - Ativar o ambiente virtual
Depois de criar o ambiente, você precisa "ativá-lo" para que o Python e as bibliotecas rodem dentro dele. A ativação varia conforme o sistema operacional:
-
No Windows ->
.\env\Scripts\activate
-
No Mac/Linux ->
source env/bin/activate
Como manter o controle das dependências?
Uma prática importante em projetos Python é manter um arquivo com as dependências, para facilitar o compartilhamento do projeto ou a sua replicação em outro ambiente. Você pode criar esse arquivo com o comando:
pip freeze > requirements.txt
Isso salva todas as dependências instaladas no seu ambiente virtual em um arquivo chamado requirements.txt. Para reinstalar as dependências em outra máquina, basta rodar:
pip install -r requirements.txt
Dica Extra
- Uso de
.gitignore
: Se você estiver usando Git, é uma boa prática adicionar o diretório do seu ambiente virtual ao arquivo.gitignore
. Isso evita que o ambiente local seja versionado, já que ele pode ser recriado a partir do arquivo requirements.txt.
Conclusão
Gerenciar ambientes virtuais é uma habilidade fundamental para quem está começando no mundo Python. Além de manter seus projetos organizados, isso evita uma série de problemas com dependências de pacotes e garante que seu código seja facilmente replicável em diferentes ambientes.
Se você ainda não está usando ambientes virtuais, este é o momento ideal para começar. Com algumas linhas de comando simples, você poderá controlar melhor seu ambiente de desenvolvimento e garantir que seus projetos rodem de maneira estável e previsível.