Ambiente Virtual

O uso de um Ambiente Virtual é para testar código python em ambientes encapsulados e também para evitar preencher a instalação base do Python com bibliotecas que podemos usar para apenas um projeto.

venv

venv é o módulo da biblioteca padrão para criar ambientes virtuais no Python 3.3+. Ele é embutido no Python, então nenhuma instalação é necessária.

  1. Criar um ambiente virtual
python -m venv venv

Ou em alguns sistemas:

python3 -m venv venv

Isso cria um diretório venv na sua pasta atual contendo o ambiente virtual.

Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual comando é usado para criar um ambiente virtual usando venv?
A. python -m venv venv
B. python create venv
C. venv create
D. python venv new
  1. Ativar o ambiente virtual

No Linux/macOS:

source venv/bin/activate

No Windows:

venv\Scripts\activate

Uma vez ativado, você verá (venv) no início do seu prompt de comando, indicando que o ambiente virtual está ativo.

Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Como você ativa um ambiente virtual no Linux/macOS?
A. activate venv
B. source venv/bin/activate
C. venv activate
D. python venv activate
  1. Instalar pacotes

Com o ambiente virtual ativado, instale pacotes usando pip:

pip install package_name

Pacotes instalados serão específicos para este ambiente virtual.

  1. Desativar o ambiente virtual

Para sair do ambiente virtual:

deactivate

O prefixo (venv) desaparecerá do seu prompt de comando.

Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual é o principal propósito de usar um ambiente virtual?
A. Isolar as dependências do projeto e evitar preencher a instalação base do Python
B. Fazer o Python rodar mais rápido
C. Criptografar código Python
D. Compilar Python para código de máquina

virtualenv

  1. Instalar virtualenv
pip install virtualenv
  1. Instalar virtualenvwrapper-win (Windows)
pip install virtualenvwrapper-win

Uso:

  1. Criar um Ambiente Virtual chamado HelloWorld
mkvirtualenv HelloWorld

Tudo o que instalarmos agora será específico para este projeto. E disponível para os projetos que conectarmos a este ambiente.

  1. Definir Diretório do Projeto

Para vincular nosso virtualenv ao nosso diretório de trabalho atual, simplesmente digitamos:

setprojectdir .
  1. Desativar

Para mudar para outra coisa na linha de comando, digite deactivate para desativar seu ambiente.

deactivate

Note como os parênteses desaparecem.

  1. Workon

Abra o prompt de comando e digite workon HelloWorld para ativar o ambiente e mover para a pasta raiz do seu projeto

workon HelloWorld

Poetry

Do site do Poetry

Poetry é uma ferramenta para gerenciamento de dependências e empacotamento em Python. Ele permite que você declare as bibliotecas das quais seu projeto depende e as gerenciará (instalará/atualizará) para você.

  1. Instalar Poetry
pip install --user poetry
  1. Criar um novo projeto
poetry new my-project

Isso criará um diretório my-project:

my-project
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

O arquivo pyproject.toml orquestrará seu projeto e suas dependências:

[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["your name <your@mail.com>"]

[tool.poetry.dependencies]
python = "*"

[tool.poetry.dev-dependencies]
pytest = "^3.4"
  1. Pacotes

Para adicionar dependências ao seu projeto, você pode especificá-las na seção tool.poetry.dependencies:

[tool.poetry.dependencies]
pendulum = "^1.4"

Além disso, em vez de modificar o arquivo pyproject.toml manualmente, você pode usar o comando add e ele encontrará automaticamente uma restrição de versão adequada.

poetry add pendulum

Para instalar as dependências listadas em pyproject.toml:

poetry install

Para remover dependências:

poetry remove pendulum

Para mais informações, consulte a documentação ou leia aqui:

Pipenv

Do site do Pipenv

Pipenv é uma ferramenta que visa trazer o melhor de todos os mundos de empacotamento (bundler, composer, npm, cargo, yarn, etc.) para o mundo Python. O Windows é um cidadão de primeira classe, em nosso mundo.

  1. Instalar pipenv
pip install pipenv
  1. Entre no diretório do seu Projeto e instale os Pacotes para seu projeto
cd my_project
pipenv install <package>

Pipenv instalará seu pacote e criará um Pipfile para você no diretório do seu projeto. O Pipfile é usado para rastrear quais dependências seu projeto precisa caso você precise reinstalá-las.

  1. Desinstalar Pacotes
pipenv uninstall <package>
  1. Ativar o Ambiente Virtual associado ao seu projeto Python
pipenv shell
  1. Sair do Ambiente Virtual
exit

Encontre mais informações e um vídeo em docs.pipenv.org.

Anaconda

Anaconda é outra ferramenta popular para gerenciar pacotes python.

Onde pacotes, notebooks, projetos e ambientes são compartilhados. Seu lugar para hospedagem pública gratuita de pacotes conda.

Uso:

  1. Criar um Ambiente Virtual
conda create -n HelloWorld
  1. Para usar o Ambiente Virtual, ative-o por:
conda activate HelloWorld

Tudo o que for instalado agora será específico para o projeto HelloWorld

  1. Sair do Ambiente Virtual
conda deactivate

UV

Da Documentação do UV

UV é um instalador e resolvedor de pacotes Python extremamente rápido, projetado como um substituto direto para os fluxos de trabalho pip e pip-tools. UV é 10-100x mais rápido que pip e fornece gerenciamento unificado de pacotes, criação de ambiente virtual e gerenciamento de versão Python.

  1. Instalar UV
# Usando curl (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Usando pip ou pipx
pip install uv
  1. Criar um novo projeto com ambiente virtual
uv init my-project
cd my-project
  1. Adicionar dependências
uv add requests
  1. Executar comandos no ambiente do projeto
uv run python script.py
  1. Ativar o ambiente virtual manualmente (opcional)
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows

UV gerencia automaticamente ambientes virtuais, versões Python e dependências com velocidade e conveniência excepcionais.