DevToolBoxGRÁTIS
Blog

Ambientes Virtuais Python: venv, conda, pipenv e poetry

10 minby DevToolBox

Ambientes virtuais são a base do gerenciamento de dependências Python. Este guia cobre as quatro ferramentas principais: venv, conda, pipenv e Poetry.

Por que ambientes virtuais são importantes

Cada projeto Python tem suas próprias dependências com requisitos de versão específicos. Ambientes virtuais resolvem isso criando instalações Python isoladas por projeto.

venv: Biblioteca padrão integrada

venv está incluído no Python 3.3+ e é a opção mais simples. Não requer instalação adicional.

# venv — Built-in (Python 3.3+)

# Create a virtual environment
python -m venv .venv

# Activate (macOS/Linux)
source .venv/bin/activate

# Activate (Windows)
.venv\Scripts\activate

# Install packages
pip install django requests

# Save dependencies
pip freeze > requirements.txt

# Install from requirements.txt
pip install -r requirements.txt

# Deactivate
deactivate

# Delete the environment
rm -rf .venv

# Recommended: add .venv to .gitignore
echo ".venv" >> .gitignore

Poetry: Gerenciamento moderno de dependências

Poetry é o gerenciador de dependências Python mais moderno e completo.

# Poetry — Modern Dependency Management (Recommended 2026)

# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -

# Create a new project
poetry new my-project
cd my-project

# Add dependencies
poetry add django
poetry add --group dev pytest black ruff

# Install all dependencies (from poetry.lock)
poetry install

# Run commands in the virtual environment
poetry run python manage.py runserver
poetry run pytest

# Open a shell in the virtual environment
poetry shell

# Update dependencies
poetry update

# Export to requirements.txt (for compatibility)
poetry export -f requirements.txt --output requirements.txt

# Build and publish a package
poetry build
poetry publish

# Show dependency tree
poetry show --tree

# pyproject.toml (auto-generated)
# [tool.poetry]
# name = "my-project"
# version = "0.1.0"
# description = ""
# [tool.poetry.dependencies]
# python = "^>=3.11"
# django = "^>=5.0"
# [tool.poetry.group.dev.dependencies]
# pytest = "^>=8.0"

conda: Potência para ciência de dados

conda é um gerenciador de pacotes completo que pode instalar dependências não Python.

# conda — Data Science / ML (Anaconda/Miniconda)

# Install Miniconda (minimal)
# https://docs.conda.io/projects/miniconda/

# Create environment with specific Python version
conda create -n myproject python=3.11

# Activate environment
conda activate myproject

# Install packages (conda packages first)
conda install numpy pandas scikit-learn matplotlib

# Install packages not in conda
pip install some-pytorch-extension

# Export environment
conda env export > environment.yml

# Create from environment.yml
conda env create -f environment.yml

# List environments
conda env list

# Deactivate
conda deactivate

# Remove environment
conda env remove -n myproject

# Update conda
conda update conda

# environment.yml example:
# name: myproject
# channels:
#   - conda-forge
#   - defaults
# dependencies:
#   - python=3.11
#   - numpy=1.26
#   - pandas=2.1
#   - pip:
#     - custom-package==1.0

Comparação de ferramentas

A escolha da ferramenta certa depende do seu caso de uso.

Tool        Installation  Lockfile  Non-Python  Build/Publish  Best For
------------------------------------------------------------------------
venv        Built-in      No        No          No             Simple scripts, learning
pipenv      pip install   Yes       No          No             Legacy projects
Poetry      curl install  Yes       No          Yes            General apps, libraries
conda       Installer     Yes       Yes         No             Data science, ML, AI
uv          cargo/pip     Yes       No          Yes            Fast pip replacement (2026)

Perguntas frequentes

Qual ferramenta usar em 2026?

Para desenvolvimento Python geral use Poetry. Para ciência de dados use conda.

Diferença entre pip e conda?

pip só instala do PyPI. conda pode instalar pacotes não Python.

Posso usar pip em um ambiente conda?

Sim, mas com cuidado. Misturar pip e conda pode causar conflitos.

Como compartilhar o ambiente?

Com Poetry: pyproject.toml e poetry.lock. Com pip: requirements.txt. Com conda: environment.yml.

Ferramentas relacionadas

𝕏 Twitterin LinkedIn
Isso foi útil?

Fique atualizado

Receba dicas de dev e novos ferramentas semanalmente.

Sem spam. Cancele a qualquer momento.

Try These Related Tools

{ }JSON Formatter

Related Articles

Guia Completo Python Type Hints: mypy, Protocols e Validação Runtime

Dominar type hints Python 2026: mypy, Protocols e validação runtime com Pydantic.

FastAPI Tutorial: Construir APIs REST com Python em 2026

Tutorial FastAPI completo: configuração, rotas, validação, autenticação e deploy.

Decorators Python: Do Básico ao Avançado

Domine decorators Python: funções, classes, argumentos, functools.wraps e padrões práticos.