Usando Python no VS Code com ambiente virtual (venv)

Anderson Magalhaes
4 min readNov 4, 2020

--

Depois de trabalhar com diversos editores como o Atom e Pycharm, recentemente comecei a utilizar o Visual Studio Code profissionalmente para desenvolver em PHP e Flutter/Dart. E fiquei muito feliz com os facilitadores e a leveza do VS Code.

Ele é altamente customizável e possui muitas extensões. Por isso resolvi trocar o Pycharm por ele.

Crie um diretório/pasta no seu computador para realizar os testes, com qualquer nome. Então abra o diretório com o VS Code.

Abra o terminal:

Digite:

python3 -m venv venv

Ou, no caso de você preferir usar Anaconda, Miniconda etc.:

C:\[DIRETORIO DO PYTHON]\python.exe -m venv venv

Então o ambiente estará quase configurado no que diz respeito ao venv, é importante que você verifique como está a configuração da sua pasta venv porque eventualmente estará diferente:

A minha o activate está em Scripts, mas já vi algumas pessoas que dizem que é na pasta bin. Então digite:

. venv/Scripts/activate
# OU
. venv/bin/activate

E para desativar para digitar:

deactive

Crie um arquivo main.py no seu diretório raiz. Você verá que no canto esquerdo inferior aparecerá a versão do Python que você está utilizando. Clique nela:

Independente da quantidade de versões e pastas que aparecer (que no meu caso são várias), selecione a que tem a palavra venv:

Então o VSCode criará um diretório de configuração chamado .vscode:

Agora sempre que você abrir o terminal desse projeto ele abrirá com o venv configurado. Porém ainda falta uma pequena configuração para que ele chame o Python no diretório/pasta venv , no meu caso eu tenho a versão 2.7 instalada como padrão, mas a do venv é a 3.7 e quando eu digito:

import sys
print(sys.version)

Ele retorna 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)] , ou seja, “nada com nada” porque eu quero que ele use o venv .

Bem, vamos resolver esse troço. Abra o diretório .vscode e abra o arquivo settings.json e modifique ele adicionando code-runner.executorMap o arquivo ficará assim:

{
"python.pythonPath": "venv\\Scripts\\python.exe",
"code-runner.executorMap": {
"python": "venv\\Scripts\\python.exe"
}
}

Agora o seu código já está rodando normalmente.

Configurações adicionais/opcionais

Todas as configurações a partir de agora, você pode adicionar nas configurações globais (imagem abaixo) ou no seu arquivo settings.json dentro da pasta .vscode:

Recomendo que adicione no arquivo global somente o que você deseja que já esteja configurado em projetos futuros.

Exibindo Python na aba Terminal

Você pode também adicionar ao arquivo code-runner.runInTerminal para que seja exibido na aba Terminal e não na Console :

"code-runner.runInTerminal": true

Configurando testes

Apaguei aquele arquivo main.py e fiz a seguinte divisão do projeto para que possamos configurar os testes automaticamente no VS Code, ficou assim (__pycache__ gerado automaticamente):

Nas configurações adicionei:

"python.linting.mypyEnabled": true,
"python.linting.flake8Enabled": true,
"python.testing.unittestEnabled": true,
"[python]": {
"editor.formatOnSave": true
}

Os arquivos tests/__init__.py e src/main.py ficaram assim:

E você poderá executar os testes através do próprio VS Code:

Conclusão

Nesse artigo, eu mostrei como usar o VS Code juntamente com o Python utilizando alguns plugins e configurações. Pode ser que atualize isso ou complemente em outro tutorial. De todo modo, recomendo a leitura da documentação oficial porque alguns outros plugins podem te tornar mais produtivo.

Agradeço pela sua visita e espero ter te ajudado. Abraço e até breve!

--

--

Anderson Magalhaes
Anderson Magalhaes

Written by Anderson Magalhaes

Software Engineer | Python | NodeJS | FastAPI | Django | React | Typescript | AWS CLF-C02 | Fullstack Developer

Responses (1)