Como criar e ativar um ambiente virtual Python

Aprenda como criar, ativar e gerenciar um ambiente virtual Python usando o módulo venv integrado. Mantenha as dependências do seu projeto isoladas e limpas.

Experimente esta solução no Editor

Visão geral

Ao desenvolver aplicativos Python, você frequentemente instalará pacotes de terceiros usando pip. Sem um ambiente virtual, esses pacotes são instalados globalmente no ambiente Python do seu sistema. Isso pode levar rapidamente a conflitos se projetos diferentes exigirem versões diferentes da mesma biblioteca (por exemplo, Projeto A precisando deDjango3.2 e Projeto B precisando deDjango5.0).

Um ambiente virtual é um diretório isolado que contém seu próprio executável Python e seu próprio conjunto de pacotes instalados. Ao criar um ambiente virtual para cada um de seus projetos, você garante que as instalações de pacotes não interfiram em outros projetos ou na configuração do Python em todo o sistema. Esta é uma prática recomendada fundamental para o desenvolvimento em Python.

No modernoPython 3, a biblioteca padrão inclui o módulo `venv`, que lida com ambientes virtuais sem a necessidade de ferramentas externas. O ciclo de vida de um ambiente virtual envolve a criação do diretório de ambiente, sua ativação em sua sessão de terminal ativa, instalação de dependências e, eventualmente, desativação quando terminar.

Saída de código e execução

Esta simulação exibe os comandos de terminal usados para criar, ativar, instalar pacotes e desativar um ambiente virtual no macOS/Linux e Windows.

virtual_env.py
Experimente no Editor
commands_macos_linux = """
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate
"""

commands_windows = """
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate
"""

print("macOS & Linux terminal commands:")
print(commands_macos_linux.strip())
print("\nWindows terminal commands:")
print(commands_windows.strip())
Saída terminal
macOS & Linux terminal commands:
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate

Windows terminal commands:
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate

Implementação passo a passo

  • Execute python -m venv <env_name> no terminal do seu projeto para gerar os arquivos de ambiente.
  • Ative o ambiente usando source <env_name>/bin/activate (macOS/Linux) ou <env_name>\Scripts\activate (Windows).
  • Instale os pacotes necessários usando pip install para garantir que eles estejam isolados neste diretório do projeto.
  • Digite desativar no terminal para sair do ambiente virtual assim que terminar de trabalhar.

Perguntas frequentes

Onde devo criar a pasta do ambiente virtual?

Crie-o diretamente no diretório raiz do seu projeto. Evite enviar a pasta do ambiente virtual (por exemplo, venv/) para o Git adicionando-a ao seu arquivo .gitignore.

O que a ativação de um ambiente virtual realmente faz?

A ativação atualiza temporariamente a variável PATH do seu shell, apontando-a para o bin do ambiente virtual ou para a pasta Scripts para que os executáveis ​​locais python e pip sejam executados em vez dos executáveis ​​de todo o sistema.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.