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.

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!