Texto de: Marlliton Souza
Introdução
É muito comum que nossos projetos de código tenham uma série de dependências essenciais para a construção do projeto, mas gerenciar essas dependências pode ser algo muito complicado. Uma das formas mais comuns de fazer esse gerenciamento em Python é utilizar ambientes virtuais, que são, essencialmente, "caixas" que guardam um interpretador Python e todas as suas ferramentas necessárias para um projeto, isolando-o de outros softwares e instalações Python no sistema e nesse artigo veremos como criar um ambiente virtual e como instalar dependências no mesmo.
Cirando um ambiente virtual
Os ambientes virtuais são guardados em diretórios como venv
ou .venv
no projeto, ou em um diretório para vários ambientes virtuais ~/.virtualenvs
. Esses diretórios não precisam ser compartilhados através do Git e podem ser deletados e recriados sem danos para o projeto.
Para criar esse diretório, e consequentemente o ambiente virtual, podemos abrir o terminal e navegar até a pasta do projeto. Em seguida, é preciso executar o comando python3 -m venv .venv
para criar um novo ambiente virtual na pasta .venv
.

Simples assim, seu ambiente virtual já está criado, porém, ainda não está pronto para ser usado. Para podermos fazer uso do mesmo, nós precisamos ativá-lo. Esse processo é necessário para que as suas dependências sejam instaladas dentro do ambiente virtual, e não globalmente.
Para ativar o ambiente virtual que criamos, utilize o comando source .venv/bin/activate
. Após a execução deste comando, o nome do ambiente virtual aparecerá no começo da linha do terminal, indicando que o ambiente está ativo e pronto para uso.

Se você analisou bem, percebeu que o comando que rodei foi source .venv/bin/activate.fish
que é ligeiramente diferente do comando que mostrei anteriormente. Isso só foi necessário para o causa do meu shell. Eu uso o fish sell e por esse motivo precisei rodar o [activate.fish](<http://activate.fish>)
. Se você usa bash ou zsh, não se precisa colocar o .fish
no fim do comando.
Analisando o print, podemos ver que o terminal agora começa com o nome do ambiente virtual, isso significa que tudo deu certo e o ambiente já está pronto para uso.
Instalando dependências
Agora que o ambiente virtual está ativo, você pode instalar as dependências necessárias para o seu projeto. Para instalar uma dependência, você pode usar o comando pip install nome_do_pacote
. Sempre que você instalar uma dependência, ela será instalada apenas no ambiente virtual ativo, não afetando outros projetos ou o sistema todo.
Para o nosso exemplo, vamos instalar o colorama que é um projeto que “pinta” saídas no terminal, então o comando para instalação é: pip install colorama
.
Após instalar já podemos usar a dependência dentro de nosso projeto:
from colorama import init, Fore, Back, Style
print(Fore.RED + 'Este texto é vermelho!')
print(Back.GREEN + 'Este texto tem fundo verde!')
print(Style.DIM + 'Este texto está em estilo dim!')
print(Style.RESET_ALL + 'Este texto retorna ao estilo padrão.')
Executando esse código, você verá que a saída terá cores diferentes do convencional:

Isso graças a lib colorama
recém instalada em seu projeto. Que agora pode ser usada sem afetar outros projetos ou o seu sistema, pois está isolada em um ambiente virtual.
Desativando o ambiente virtual
Após terminar o trabalho no seu projeto, você pode desativar o ambiente virtual. Para fazer isso, basta digitar o comando deactivate
no terminal. Isso fará com que o terminal volte ao estado normal, não sendo mais afetado pelo ambiente virtual.

Resumo
Neste artigo, vimos como criar um ambiente virtual com Python no Linux, como ativar esse ambiente, como instalar dependências nele e finalmente, como desativá-lo. O uso de ambientes virtuais é uma prática importante para garantir que seus projetos Python sejam independentes e não afetem mutualmente ou ao sistema na totalidade. Espero que este artigo tenha sido útil e que ajude você a gerenciar melhor seus projetos Python. Se quiser se aprofundar ainda mais nesse tema, recomendo que leia PEP 405.
Boa codificação!
Leia também
Como usar a API da OpenAi com Python
Introdução a engenharia de prompt