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??
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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??
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..