Para iniciantes: saiba por que ambientes virtuais são úteis em Python e aprenda a criar um ambiente básico com a biblioteca venv.
O que é um Ambiente Global Python?
Ao digitar ‘Python’ no CMD (Windows) ou terminal (MacOS), geralmente estamos usando o Python padrão do computador. Podemos verificar isso ao imprimir sys.executable depois de importar o módulo sys.
'/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10'
Para usuários do Windows, provavelmente está em algum lugar em ‘Program Files’.
O que é um Ambiente Virtual?
Ao criar um ambiente Python virtual em um diretório específico, como /algum/caminho, uma pasta chamada ‘env’ é criada nesse diretório quando o ambiente é ativado.
Ao rodar o Python em /algum/caminho, na verdade estamos usando o Python que está em /algum/caminho/env (não o Python global).
Quando usamos um ambiente virtual, o resultado de sys.executable será:
/algum/caminho/env/bin/python
Este é um exemplo de Python de um ambiente virtual chamado ‘env’, não o Python global comum. Eles são instâncias separadas do Python com dependências independentes.
Por Que Usar Ambientes Python Virtuais?
1) Para não bagunçar as dependências do Python global
No passado, eu costumava instalar todos os pacotes no meu Python principal com o pip, o que causou confusão com dependências globais. Para projetos com dependências específicas, é recomendável usar ambientes virtuais.
2) Para usar diferentes versões de uma dependência sem complicações
Imagine que temos 2 projetos que usam TensorFlow, mas um precisa da versão 1 e o outro da versão 2. Se usarmos o Python global, precisaremos alternar a instalação do TensorFlow sempre que mudarmos de projeto. Isso pode ser complicado. Com ambientes virtuais, mantemos as dependências separadas e ativamos o ambiente certo para trabalhar em cada projeto.
Como Criar um Ambiente Python Virtual
Para começar, usaremos a biblioteca venv, que já está instalada, então não é necessário usar o pip. No diretório /algum/caminho, digite o seguinte no CMD/terminal e pressione Enter:
python -m venv env
Aqui, usei ‘env’ como nome do ambiente virtual, mas você pode escolher qualquer nome. Após pressionar Enter (e aguardar um pouco), será criada uma pasta chamada ‘env’ (/algum/caminho/env). Essa é a sua instância separada do Python com dependências próprias. Ela terá vários arquivos e pastas, parecendo com a imagem acima. Agora, ative o ambiente virtual para começar a usá-lo!
Como Ativar Nosso Ambiente Python Virtual
A boa notícia é que realmente não precisamos nos preocupar com o que está dentro da nossa pasta “env” – podemos simplesmente ativar o ambiente Python virtual usando o CMD (Windows) ou o terminal (MacOS).
Para Windows (digite no CMD e pressione ):
env\bin\activate.bat
Para MacOS (digite no terminal e pressione ):
source env/bin/activate
O que esperamos ver (no CMD/terminal) é:
(env) nome_de_usuário@pasta %
Vemos “(env)” à esquerda. É assim que sabemos que nosso ambiente virtual foi ativado. Neste ponto, você está pronto para usar seu ambiente virtual!
Lembre-se de que esta é uma instância separada do Python, então não possui dependências instaladas. Você precisa instalá-las uma vez e pode reativar este ambiente no futuro.
Mais Referências
Documentação oficial para criação de ambientes virtuais: https://docs.python.org/3/library/venv.html