Ambientes virtuais em Python (venv)

Matheus Vasconcellos
4 min readJul 12, 2021

--

Um guia para criar ambientes virtuais com o venv e rodar no Jupyter Notebook

Introdução

Quem nunca ouviu a frase “Na minha máquina funciona”? Se você trabalha com programação ou está começando seus estudos na área, já deve ter percebido que esse problema é muito recorrente. Muitas das vezes, o que faz um código rodar ou não em um computador é o seu ambiente.

Assim, apesar do Python ter uma linguagem simplificada, e não necessitar de muitas configurações de ambientes iniciais até o famoso “Hello World!”. É importante não negligenciar, especialmente em grandes projetos com muitas bibliotecas de diversas versões.

Para exemplificar as diferentes versões de bibliotecas, a lib Pandas tem mais de 20 versões (em 10/07/2021). Com todos esses releases, é possível que uma função seja descontinuada/criada ou tenha mais argumentos nos novos lançamentos, por exemplo.

Tendo essa motivação em vista, IDEs como o Pycharm facilitam a criação de ambientes com um simples clique. No entanto, é importante compreendermos o que está por debaixo dos panos, de modo que tenhamos cada vez mais ferramentas e mais opções para solucionarmos problemas.

Sendo assim, este post tem como objetivo criar um ambiente virtual com o módulo venv nativo do Python, criar um kernel deste ambiente e executá-lo no jupyter notebook.

Após essa breve introdução sobre a relevância do assunto, vamos ao que interessa, para o passo a passo do projeto.

Passo a passo

Antes de iniciar a parte prática, vale ressaltar que os comandos abaixo são executados pelo prompt de comando, testados em um computador com o Windows 10.

Para abrir o prompt na sua máquina, basta ir até a barra de pesquisar, digitar “cmd” e apertar enter.

Vamos à parte prática!

1. Criar a pasta do projeto

C:\> virtualenv projeto_teste

No comando acima, caminhe até a pasta raiz que você quer que seja criada a pasta do projeto. Neste exemplo, criaremos no “C” da máquina a pasta com o nome projeto_teste.

2. Ativar o ambiente virtual

C:\> C:\projeto_teste\Scripts\activate

Substitua o “C:\projeto_teste” pelo nome completo da pasta do seu projeto, caso tenha escolhido outro. Após a execução, a tela deverá ser como a que está abaixo, com o nome da pasta em parênteses.

Assim, já temos o ambiente virtual instalado e ativado. Entretanto, ainda falta criar o kernel para ser utilizado no jupyter notebook, que será feito daqui em diante.

3. Instalar a biblioteca ipykernel

C:\> python -m pip install ipykernel

Com a biblioteca ipykernel instalada, podemos criar o kernel que será selecionado no jupyter notebook.

4. Criar um kernel para o Jupyter Notebook

C:\> ipython kernel install --user --name=kernel_de_teste

Substitua o “kernel_de_teste” pelo nome de sua preferência.

5. Ir até a pasta do projeto

C:\> cd C:\projeto_teste

Assim como mencionado na segunda etapa, substitua o “C:\projeto_teste” pelo caminho do seu projeto.

6. Iniciar o Jupyter Notebook

C:\> jupyter notebook

Abra o seu navegador e crie um novo notebook, selecionando o kernel criado na etapa anterior.

7. Verificar as bibliotecas instaladas

Com o comando help(“modules”) retornamos todas as bibliotecas do instaladas no ambiente. E, como podemos verificar, temos apenas as bibliotecas do instaladas pelo python.

Ao tentar importar a biblioteca pandas, mencionada no início do artigo, foi retornada uma mensagem de erro, pois ainda não está instalada.

Conclusão

Após este passo a passo, criamos um ambiente virtual em Python, depois um kernel do projeto e, por fim, executamos no jupyter notebook.

Com isso, evitaremos problemas de versões de bibliotecas e ambientes em diferentes projetos. De modo que, caso precisemos atualizar ou instalar uma nova lib em um projeto, isto não impactará nos demais que já estão no seu computador.

Ao final desse post, você pode estar se perguntando. Já que construímos um ambiente somente com as bibliotecas nativas do Python, se eu quiser rodar um projeto, consigo importar todas as libs dele de uma vez?

Pois bem, este será o assunto para o próximo post, abordaremos sobre o requirements.txt.

Com esses dois papers, eliminaremos o problema abordado no início: “Na minha máquina funciona”, e você conseguirá rodar projetos do GitHub ou do seu parceiro de trabalho.

--

--

Matheus Vasconcellos
Matheus Vasconcellos

Written by Matheus Vasconcellos

I love how the data could be useful and solve problems.

No responses yet