🐍 Criando o venv (Virtual Environment) do Python
O que é o Virtual Environment (Ambiente Virtual)?
O virtual environment (ou ambiente virtual) do Python é uma ferramenta que permite criar ambientes isolados para projetos, garantindo que cada um tenha suas próprias dependências e versões de pacotes, semelhante ao que a pasta node_modules
do NodeJS faz. Isso evita conflitos entre bibliotecas e facilita a gestão de diferentes projetos que podem exigir versões distintas de pacotes. Ao ativar um ambiente virtual, o usuário pode instalar e gerenciar pacotes sem afetar a instalação global do Python no sistema.
Cada Ambiente Virtual possui seu próprio interpretador Python e bibliotecas, o que significa que as mudanças feitas em um ambiente não vão impactar em nenhum outro. Dessa maneira é possível trabalhar em diferentes projetos com diferentes versões da mesma biblioteca, além de criar um ambiente de trabalho limpo, fácil de gerenciar e evitando o tão temido "dependency hell" em que conflitos de dependências poderiam sugir.
Pré-requisitos
Para entender completamente este tutorial, primeiro você deve:
- Conhecimento básico sobre programação em Python.
- Familiaridade com Interface de Linha de Comandos (CLI - Command-Line Interface).
- Python 3.3 ou mais recente instalado.
Como criar um Ambiente Virtual?
Com o Python e o pip instalados, basta rodar o seguinte comando no terminal para criar o ambiente virtual:
python -m venv .venv
- -m: executa um módulo de biblioteca como um script
- venv: o módulo que será executado para a criação do ambiente virtual
- .venv: nome da pasta em que será armazenada o ambiente virtual. Pode ser alterada para qualquer outro nome adequado, mas geralmente esse é o padrão
INFO
Vale ressaltar que em alguns casos pode ser que a versão específica do Python deve ser usada. Atualmente a versão é Python 3, portanto o comando ficaria python3 -m venv .venv
.
AVISO
A ferramenta de criação de Ambientes Virtuais venv
só está disponível a partir da versão 3.3 do Python. Em versões mais antigas pode ser necessário instalar o pacote virtualenv
.
Como ativar o ambiente virtual?
Diferente do node_modules
, em que basta rodar os comandos na pasta raíz do projeto, o venv
precisa ser ativado para ser usado. Dentro da pasta do venv
, existe a pasta bin e dentro dela estarão armazenados os scripts instalados, inclusive o script de ativação. Dentro da pasta bin (no meu caso o caminho seria .venv/bin/
, ou .venv\Scripts\
no caso do windows) rode o seguinte comando:
No linux:
source .venv/bin/activate
No windows:
.venv\Scripts\activate.bat
O resultado deve ficar semelhante ao seguinte:
Utilizando o Ambiente Virtual
Após ativado, basta gerenciar as bibliotecas normalmente utilizando o gerenciador de pacotes pip
:
python -m pip install <package-name>
# ou
pip install <package-name>
Como desativar o Ambiente Virtual?
Para desativar o ambiente virtual, basta rodar o seguinte comando:
deactivate
Alternativas
Existem outras opções de pacotes que podem criar ambientes isolados com algumas features a mais que podem ser úteis em determinados casos. Por exemplo:
- Pipenv: Combina
pip
evenv
, permitindo criar e gerenciar um ambiente virtual adicionando e removendo pacotes ao seuPipfile
. - Conda: Um gerenciador de pacotes para diferentes linguagens, não somente limitado ao Python. Especialmente útil para ciência de dados, em que múltiplas linguagens de programação são utilizadas.