
Os ambientes virtuais Python isolam as dependências do projeto para que diferentes projetos possam usar diferentes versões de pacotes sem conflito. Em 2026, todo projeto Python deve usarvenv,virtualenv, ou o modernouvferramenta. Este guia cobre todas as três práticas recomendadas.
📋 Table of Contents
Por que ambientes virtuais?
Sem ambientes virtuais, todos os pacotes são instalados globalmente. O Projeto A precisa do Django 4.2, o Projeto B precisa do Django 5.0 — eles não podem coexistir globalmente. Os ambientes virtuais resolvem isso dando a cada projeto seus próprios pacotes Python +.
venv (integrado)
# Create virtual environment
python3 -m venv .venv
# Activate
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows PowerShell
# Install packages
pip install fastapi uvicorn sqlalchemy
# Save dependencies
pip freeze > requirements.txt
# Deactivate
deactivate
uv — A ferramenta Fast Modern (padrão 2026)
uvda Astral substitui pip, venv e pyenv. É 10-100x mais rápido que pip porque está escrito em Rust. Em 2026, o uv é a ferramenta recomendada para novos projetos.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create project with virtual env
uv init myproject
cd myproject
# Add dependencies (auto-creates .venv)
uv add fastapi uvicorn sqlalchemy
# Run script in venv
uv run python main.py
# Sync dependencies from pyproject.toml
uv sync
pyproject.toml vs requisitos.txt
Projetos Python modernos usampyproject.tomlem vez derequirements.txt. Inclui metadados, dependências com restrições de versão e configurações de ferramentas.
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"sqlalchemy>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.4",
"mypy>=1.10",
]
Gerenciando múltiplas versões do Python
# uv can install Python versions too
uv python install 3.12 3.13
uv python list
# Pin Python version for project
uv python pin 3.12
# Or use pyenv for Python version management
pyenv install 3.12.3
pyenv local 3.12.3 # sets .python-version file
Melhores Práticas
- Sempre nomeie seu local
.venv— a maioria dos editores detecta automaticamente - Adicionar
.venv/para.gitignore - Confirmar
pyproject.tomleuv.lockpara controle de versão - Usar
uv syncem um novo clone para reproduzir dependências exatas - Separe as dependências de desenvolvimento das dependências de produção
# .gitignore
.venv/
__pycache__/
*.pyc
.env
dist/
*.egg-info/
Conclusão
Ambientes virtuais não são negociáveis para desenvolvimento em Python. Usarvenvpara projetos simples, mude parauvpara velocidade e gerenciamento moderno de dependências. Seu futuro eu (e companheiros de equipe) agradecerão.
🔗 Share this article
✍️ Leave a Comment