3
respostas

Ambiente virtual

Tenho um pulga atrás da orelha, terei várias no decorrer do aprendizado, rsss.. O ambiente virtual tem algo a ver com o conceito de containers em programação??

3 respostas

um contêiner é como se fosse um processo enquanto um ambiente virtual é mais como uma pasta de configurações. um ambiente virtual nao fica isolado por namespaces e etc

Um container é uma forma de retirar "toda a tralha" de um sistema operacional, e providenciar o minimo necessario para aquele componente rodar, sendo muito mais leve que o ambiente virtualizado (virtual box). https://www.youtube.com/watch?v=kkbFqCNgFlE (video do Akita com a melhor explicação de container que eu ja vi)

Ambiente virtual, venv para os chegados, é onde está localizado o interpretador daquele código. Faça um teste:

Rode no terminal, no caso em bash, ambiente Linux

which python3

A resposta esperada é /usr/bin/python3, ou seja, a localização dos binários do seu sistema.

Agora rode, considerando o ambiente virtual venv:

source venv/bin/activate
which python3

É esperado retornar a localização dos binários do projeto, ou seja, onde está o interpretador. E o melhor de tudo, as dependncias do projeto ficam restritas àquele interpretador, sem "encostar" no padrão do sistema.

https://www.alura.com.br/artigos/ambientes-virtuais-em-python

Clareou bastante!! Obrigado por responder..