Tamanho de fonte
Alto contraste
Altura de linha
Entrar Cadastrar

Ambientes virtuais em Python: o que são e como criar no Windows e VS Code

Avatar de Adriano Soares Adriano Soares
10 minutos de leitura 16/03/2023 • Atualizado 19 dias atrás 5xp

Um ambiente virtual em Python é uma área isolada dentro do seu sistema onde você pode instalar bibliotecas e dependências específicas para um projeto, sem interferir em outros projetos ou na instalação global da linguagem. Essa funcionalidade é essencial para manter a organização dos seus códigos e garantir que eles funcionem da mesma forma, independentemente da máquina ou do tempo que passou desde a última execução.

A ferramenta mais comum para criar ambientes virtuais em Python é o módulo venv, incluído na biblioteca padrão da linguagem. Com ele, você pode montar ambientes personalizados e controlar exatamente quais versões de bibliotecas serão utilizadas em cada projeto.

Neste artigo, você vai entender como funcionam os ambientes virtuais, qual a importância da gestão de dependências e aprender a criar e utilizar ambientes com venv tanto no Windows quanto no VS Code.

O que é gestão de dependências?

Ao escrevermos um programa em Python, é muito comum que tenhamos de utilizar bibliotecas desenvolvidas pela comunidade, instaladas pelo pip. Isso é ótimo, pois permite uma ampla reutilização de códigos. Por exemplo, se alguém desenvolve uma biblioteca lá no Japão, você pode facilmente utilizá-la aqui, no Brasil.

Contudo, essas bibliotecas são organismos vivos e estão em constante atualização. É por isso que, ao sofrer uma atualização, o seu programa não consegue rodar com a nova versão. Para garantir que isso não ocorra, a única forma é, sempre que terminar de escrever um código, salvar as versões de todas as bibliotecas usadas para, no futuro, poder instalá-las na versão que garanta o bom funcionamento do script.

Isso se chama gestão de dependências, é o armazenamento e compartilhamento das informações de todas as bibliotecas (dependências) necessárias para que seu script funcione.

Mas, na prática, como fazer isso? É aí que entram os ambientes virtuais!

O que é ambiente virtual no Python?

Agora já sabemos que, para garantir o bom funcionamento do nosso script no longo prazo, necessitamos de uma boa gestão de dependências. Mas suponhamos que temos dois projetos diferentes, um necessita da versão do Pandas 1.1.5 e o outro necessita da versão 0.25.0. Seria inviável ter que reinstalar a biblioteca toda vez que for mudar de um projeto para outro.

Para facilitar esse processo, o Python permite a criação de ambientes virtuais.

Esses ambientes são isolados, um não se comunica com o outro. É como se tivéssemos mais de uma instalação de Python no nosso computador, cada uma possuindo as suas próprias bibliotecas nas versões exatas que o projeto necessita.

exemplo de ambientes virtuais

E isso resolve nosso problema e conseguimos fazer a gestão de dependências facilmente!

Mas agora, vamos lá, como fazemos isso?

Criando ambientes virtuais em Windows

Partimos do pressuposto de que você já tem Python instalado na sua máquina.
Você pode criar ambientes virtuais com diferentes versões do Python. Agora para vePara desativar o ambiente virtual, o prificar as versões disponíveis na sua máquina, abra a linha de comando (também conhecida como command prompt ou CMD). Para isso, digite cmd na procura e clique em Linha de comandos.

abrindo linha de comando no windows

Para você descobrir as versões de Python disponíveis no seu PC, digite o comando where python na linha de comando.

descobrindo versões de python pela linha de comando

As instalações válidas de Python ficam, em geral, na pasta Programs, do diretório local. Portanto, nós só temos uma instalação válida de Python nesta máquina, na versão 3.11.

Agora, vou criar uma pasta projetoVenv dentro da pasta Documents para começarmos nossos trabalhos. Para me mover para a pasta Documents, utilizo o comando chdir, depois crio a pasta projetoVenv utilizando o comando mkdir e entro nesse diretório recém-criado utilizando o comando chdir novamente.

criando pasta no cmd windows

Depois, podemos finalmente criar nosso ambiente virtual utilizando o comando venv, do Python. Esse comando funciona da seguinte forma:

  1. O caminho para a versão de Python que você quer no seu ambiente virtual. No nosso caso: C:\Users\aavso\AppData\Local\Programs\Python\Python311\python.exe
  2. A flag -m.
  3. O módulo venv da biblioteca padrão de Python, usado para a criação de ambientes virtuais.
  4. E por fim, o nome da pasta na qual o ambiente virtual ficará armazenado (projetoVenv).

O comando fica assim portanto:

C:\Users\aavso\AppData\Local\Programs\Python\Python311\python.exe -m venv projetoVenv

Você pode notar que surgiu uma nova pasta chamada projetoVenv. Para facilitar, sugiro a utilização do comando start . para abrir o explorador de arquivos e facilitar a visualização.

comando start no cmd do windows

Pronto, seu ambiente virtual está criado. Dentro dessa pasta projetoVenv, você tem uma cópia do Python que está instalado na sua máquina e, todas as vezes em que você utilizá-lo, você estará utilizando um Python diferente do da máquina.

Como usar ambientes virtuais no Windows

Para utilizar o ambiente virtual, você precisa ativá-lo antes. Para fazer isso pela linha de comando, rode o arquivo activate.bat que fica na pasta Scripts, criada dentro da pasta do seu ambiente virtual:

venvProjeto\Scripts\activate.bat
ativando ambiente virtual no windows

Você notará que o nome do seu ambiente virtual aparecerá entre parênteses no início da linha agora, e isso significa que seu ambiente está ativo.Agora podemos dar um comando where python e verificar se realmente esse novo python está sendo utilizado:

comndo where com ambiente virtual ativado python

Note que surgiu uma nova primeira linha, a qual aponta para o nosso Python do ambiente virtual. Exatamente como esperávamos.

Agora, sempre que eu rodar um script com python (usando o comando python meu_script.py), nós estaremos utilizando o Python do ambiente virtual:

desativar ambiente virtual python windows

Para desativar o ambiente virtual, o processo é similar à ativação, mas no lugar utilizamos o arquivo deactivate.bat:

venvProjeto\Scripts\deactivate.bat

E para provar que os dois interpretadores de Python são isolados, vamos utilizar o comando pip list e mostrar que as bibliotecas instaladas no python do ambiente virtual são diferentes das bibliotecas do python do sistema:

comando list em um ambiente virtual python

Na imagem acima, rodamos primeiro no Python do sistema (fora do ambiente virtual) e obtivemos diversas bibliotecas instaladas. Em seguida, ativamos o ambiente virtual e rodamos o mesmo comando, e podemos ver que nesse ambiente só temos as bibliotecas padrão pip e setuptools instaladas.

Como utilizar ambientes virtuais no VSCode

A criação de ambientes virtuais no VS Code é bem simples. Para testar esta funcionalidade, criamos o script abaixo, que reproduz o teste do pip list que realizamos anteriormente.

import pip
print(pip.main(['list']))
Testar

O VS Code reconhece automaticamente seu interpretador de Python quando estamos num script de Python. Podemos verificar isso no canto inferior direito do programa:

Verfificando interpretador utilizado no vs code

Podemos ver que ele reconheceu o nosso Python 3.11. Caso ele não tenha reconhecido, vale a pena conferir nosso tutorial sobre como configurar o interpretador de Python no VS Code.
Para criar um novo ambiente virtual, utilize o atalho Ctrl + Shift + P e digite Python: Create. A opção Python: Create Environment deve aparecer. Caso seu VS Code esteja em português, procure por Python: Criar Ambiente:

Criando ambiente virtual no vs code

Depois, selecione venv como método de criação do ambiente:

Selecionando venv para criação de ambiente virtual vs code

Por último, selecione a versão do interpretador do ambiente que estamos criando. Como nesta máquina só temos o Python 3.11 instalado, selecionaremos ele:

Selecionando interpretador para criação de ambiente virtual vs code

Pronto, o VS Code já cria o ambiente para você e, automaticamente, passa a utilizá-lo. Podemos verificar isso pelo canto inferior direito, que agora está mostrando a pasta .venv como caminho do interpretador:

Verificando interpretador utilizado vs code

Todos os scripts que você rodar, estando nessa pasta já utilizarão o ambiente virtual. Caso você queira utilizar o interpretador global e não o ambiente virtual, clique no canto inferior direito sobre o .venv e selecione o interpretador:

selecionado interpretador vs code

Agora, você pode testar o script test_venv.py rodando-o com o ambiente virtual ativado e desativado e vendo a diferença no output do script.

Comparando venv e virtualenv: qual usar?

Se você já está convencido da importância dos ambientes virtuais, talvez surja uma dúvida comum: qual ferramenta usar? O Python oferece mais de uma opção para criar ambientes isolados, sendo as principais o venv e o virtualenv.

Ambas cumprem o mesmo papel, mas têm diferenças importantes que podem influenciar sua escolha especialmente dependendo da versão do Python que você está utilizando ou da complexidade do seu projeto.

Veja abaixo uma tabela comparativa entre venv e virtualenv, com as principais características de cada uma:

Característicavenvvirtualenv
Inclusão no PythonMódulo padrão desde o Python 3.3Pacote externo, precisa ser instalado via pip
Compatibilidade com versõesSuporta Python 3.3 e superioresSuporta Python 2.x e 3.x
Tamanho do ambienteMais leve, reutiliza binários do sistemaUm pouco mais pesado, cria cópias completas
InstalaçãoEmbutido, não precisa de instalação à partePrecisa de instalação separada (pip install virtualenv)
Flexibilidade/FuncionalidadesMenos flexível, mais simplesOferece mais opções, como --copies para evitar links simbólicos
Velocidade na criaçãoPode ser mais lentoGeralmente mais rápido na criação do ambiente
Suporte a múltiplas versões PythonNão suporta múltiplas versões no mesmo sistemaSuporte melhor para múltiplas versões através de ambientes separados
Recomendação de usoProjetos em Python 3 modernos, simples e diretosProjetos que precisam suportar Python 2 ou recursos avançados
Ativação e usoIgual para ambos: ativação via scripts no bin (Unix) ou Scripts (Windows)Igual para ambos

O que aprendemos com tudo isso?

Se tem algo que diferencia um bom programador, é a organização. E tudo começa pelo ambiente em que o código é desenvolvido.

Agora que você já entende como funcionam os ambientes virtuais, é hora de colocá-los em prática. Pode parecer um detalhe técnico no início, mas quando você revisitar um projeto antigo e tudo funcionar perfeitamente, vai perceber o quanto isso faz diferença.

Dominar esse tipo de ferramenta é um passo importante na sua jornada como desenvolvedor Python e o melhor: é só o começo.

Se você está dando seus primeiros passos na linguagem ou quer reforçar sua base, temos um curso gratuito de Python para iniciantes que pode te ajudar a ir ainda mais longe.

Curso Gratuito

Seu primeiro projeto Python – curso grátis com certificado!

Vá do zero ao primeiro projeto em apenas 2 horas com o curso Python para Iniciantes.

Comece agora

FAQ – Ambientes virtuais no Python

1. Como criar um ambiente virtual Python Anaconda?

Abra o terminal (ou Anaconda Prompt) e use o comando:
conda create --name nome_do_ambiente python=3.11
Substitua nome_do_ambiente pelo nome desejado. Você também pode escolher a versão do Python.

2. Como ativar o Venv no PyCharm?

No PyCharm, vá em:
File > Settings > Project: [seu projeto] > Python Interpreter
Clique no ícone de engrenagem ⚙️ > Add > selecione Virtualenv Environment e indique o caminho do venv. O PyCharm ativará automaticamente o ambiente ao abrir o projeto.

3. Como funciona um ambiente virtual?

Um ambiente virtual cria uma pasta isolada com uma instalação própria do Python e das bibliotecas. Isso garante que dependências de um projeto não afetem os demais. Ideal para manter versões específicas de pacotes.

4. Como criar um folder no VSCode?

No VSCode, vá em File > New Folder ou clique com o botão direito no gerenciador de arquivos lateral e selecione New Folder. Depois, você pode abrir essa pasta como um projeto com File > Open Folder.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

30xp
Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov