🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Guia de ambientes virtuais Python 2026: venv, uv e práticas recomendadas

⏱️2 min read  ·  382 words
Python Virtual Environments Guide 2026: venv, uv and Best Practices

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.

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
  • Confirmarpyproject.tomleuv.lockpara controle de versão
  • Usaruv 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.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা