Ambientes Virtuais
Ambientes virtuais são muitas vezes incompreendidos, porque o conceito de “ambientes” não é claro.
Um ambiente Python refere-se ao root da instalação do Python. Isso é importante porque o subdiretório lib/site-packages é onde pacotes de terceiros são instalados. Nos dias de hoje muitas vezes instalados via pip.
Há outras ferramentas que são mais utilizadas que o pip, o bootstrapping pip e o vritualenv podem ser utilizados com o pip.
A única alternativa comum ao pip é o sistema de pacotes, onde o sistema Python está focado.
No caso de um ambiente Anaconda, alguns pacotes podem ser instalados como parte do Anaconda.
Na verdade, esse é um grande benefício do Anaconda: muitos pacotes Python são personalizados, especialmente aqueles que não são triviais.
Um ambiente “real” é aquele baseado na instalação do Python. Isso significa que para conseguir um novo ambiente real, nós precisamos reinstalar (e muitas vezes reconstruir) o Python.
Isso algumas vezes pode ser muito caro. Por exemplo, o tox reconstruirá um ambiente a partir do zero, se algum parâmetro for diferente. Por essa razão ambientes virtuais existem.
Um ambiente virtual copia o mínimo necessário do ambiente real para induzir o Python a pensar que ele tem um novo root.
Os detalhes exatos não são importantes, mas o que é importante é que um comando simples apenas copia arquivos (e algumas vezes links simbólicos).
Há dois caminhos utilizados por ambientes virtuais: ativado e desativado. Para ordenar o uso de um ambiente virtual inativo, é mais comum scripts e procedimentos automáticos, chamamos o Python do ambiente virtual.
Isso significa que se nós criarmos um ambiente virtual em /home/name/venvs/my-special-env, nós podemos chamar /home/name/venvs/my-special-env/bin/python dentro desse ambiente.
Por exemplo, /home/name/venvs/my-special-env/bin/python -m pip irá executar o pip para instalar no ambiente virtual.
Note que para os scripts entry-point-based, serão instalados junto com o Python, então nós podemos executar /home/name/venvs/my-special-env/bin/pip e depois executar /home/name/venvs/my-special-env/bin/pip para instalar pacotes dentro de ambientes virtuais.
Outro caminho para usar o ambiente virtual é o “ativo”. Ativar um ambiente virtual em um bash-like shell significa fornecer seu script de ativação:
$ source /home/name/venvs/my-special-env/bin/activate
A fonte define algumas variáveis de ambiente, na qual apenas uma é importante. A variável importante é a PATH, a qual tem prefixo /home/name/venvs/my-special-env/bin.
Isso significa que os comandos como o python ou pip serão executados primeiro. Existem duas variáveis cosméticas que são definidas: VIRTUAL_ENV que irá apontar ao root do ambiente.
Isso é útil em scripts de gerenciamento que desejam conhecer os recursos virtuais ambientes.
Deixe um comentário