DEV Community

Cover image for O que é e como trabalhar com Ambientes Virtuais em Python

O que é e como trabalhar com Ambientes Virtuais em Python

O que são Ambientes Virtuais?
Nada mais é do que um ambiente isolado no Python. Sendo assim uma área segura, onde é possível instalar bibliotecas e suas exigências, sem afetar a instalação global do Python ou outros projetos. Essa configuração possibilita o desenvolvimento em projetos distintos com versões diferentes de bibliotecas e até mesmo versões distintas do Python, sem gerar nenhum tipo de conflito. Fazendo uma analogia, é bem parecido com o conceito de máquina virtual, onde é instalado um novo SO dentro de um computador em funcionamento. Sendo este novo SO totalmente independente do sistema operacional que está inserido/instalado.

Para que serve os Ambientes Virtuais em python?
Devido a grande abundância de bibliotecas e constante aprimoramento de versões das linguagens de programação como o exemplo do Python, administração de dependências e harmonização entre as versões da linguagem de programação se tornam um desafio para os programadores.

Vamos supor que há um ano atrás você trabalhava para o ClienteA, codava um programa em python utilizando a versão 3.10 junto da biblioteca Pandas.

E hoje em dia, você está codando o ClienteB, criando um novo aplicativo, porém com a versão mais atualizada do pyhthon 3.12 e com a biblioteca Django.

Se por algum motivo o Cliente antigo ClienteA solicitasse uma manutenção no código dele, você teria dificuldades de faze-las. Pois as versões estariam incompatíveis e você não tem mais a biblioteca Pandas , pois a desinstalou e instalou a biblioteca Django em seu lugar.

É nesse ponto que o Ambiente Virtual resolve o nosso problemas. Criando um ambiente particular, onde você pode manter todo a sua configuração atual que está utilizando, e criar um ambiente virtual para fazer a manutenção ou desenvolvimento de algum código em específico. como no caso citado acima.

Image description

Por que usar Ambientes Virtuais?
Separação de Necessidades: Cada trabalho pode possuir suas próprias exigências, e um ambiente isolado assegura que essas necessidades não interfiram em outras aplicações.
Possibilidade de Utilização de Diversas Versões: Através de ambientes virtuais, torna-se viável a utilização de distintas versões do Python em projetos individuais. Essa funcionalidade é especialmente valiosa quando se faz necessário manter um projeto antigo que não é compatível com a versão mais atual do Python disponível.
Garantir a replicabilidade do ambiente de desenvolvimento ao compartilhar o código com colegas é fundamental. Utilizar ambientes virtuais é a chave para assegurar que todas as dependências estejam presentes e o ambiente possa ser reproduzido com precisão.
Gestão Facilitada de Pacotes: Através de um ambiente virtual, é possível realizar a instalação de pacotes utilizando o pip (Python Package Installer) sem depender de autorizações de administrador. Essa prática simplifica a administração de pacotes e agiliza o desenvolvimento de projetos.

Como Usar Ambientes Virtuais?
O Python disponibiliza uma biblioteca interna chamada venv para a criação de ambientes virtuais. Abaixo segue um exemplo simples de como criar e ativar e utiliza-lo:

# Criar um ambiente Virtual:
python -m venv meu_ambiente_virtual
Enter fullscreen mode Exit fullscreen mode
# Ativar o Ambiente Virtual:
WINDOWS      -      meu_ambiente_virtual\Scripts\activate
MAC OU LINUX -      source meu_ambiente_virtual/bin/activate
Enter fullscreen mode Exit fullscreen mode
# Desativar o Ambiente Virtual:
deactivate
Enter fullscreen mode Exit fullscreen mode

O ambiente virtual em Python é uma ferramenta essencial para qualquer desenvolvedor Python. Criando um ambiente controlado e isolado para desenvolver projetos de forma eficiente e prática. Garantindo compatibilidade de versões, gerenciamento simplificado de pacotes e reprodutibilidade.

Vamos Disseminar os Conhecimentos e Transbordar Tudo o que Aprendemos!

Segue o Link do meu LinkedIn: LinkedIn

Segue o Link do meu GitHub: GitHub

Top comments (0)