Escrito por

Artigo Evandro Wendt · Mar. 21 4m read

Introdução a Ambientes Virtuais em Python

img

Este artigo irá introduzir você ao conceito de ambientes virtuais em Python, que são essenciais para gerenciar dependências e isolar projetos do sistema operacional.

O que é um ambiente virtual?

Um ambiente virtual é uma pasta que contém:

  • Uma versão específica do Python
  • No início, um diretório site-packages vazio

Ambientes virtuais ajudam a isolar seu projeto da instalação do Python do sistema operacional e de outros projetos.

Como usá-lo?

Para usar ambientes virtuais, você pode seguir estes passos:

  1. Crieum ambiente virtual: você pode criar um ambiente virtual usando o módulo venv que vem com o Python. Abra seu terminal e execute:

  2. python -m venv .venv
    

    Troque o .venv pelo nome do ambiente desejado.

  3. Ative o ambiente virtual: após criar o ambiente virtual, você precisa ativá-lo. O comando varia dependendo do seu sistema operacional:

    • No Windows:
  4. .venv\Scripts\Activate.ps1
    

    Se você encontrar um erro, pode ser necessário executar o seguinte comando no seu terminal:

    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .venv\Scripts\Activate.ps1
    
    • No macOS e Linux:
    source .venv/bin/activate
    

Uma vez ativado, o prompt do seu terminal mudará para indicar que você agora está trabalhando dentro do ambiente virtual.

Exemplo:

(.venv) user@machine:~/project$

Note que o prefixo (.venv) no prompt do terminal, o que indica que o ambiente virtual está ativo.

Agora você pode instalar pacotes usando pip, e eles serão instalados no ambiente virtual em vez da instalação global do Python.

Posso usar ambientes virtuais no IRIS?

Hum, boa pergunta!

A resposta é simples: Sim e Não.

  • Não, porque o IRIS não oferece suporte oficial a ambientes virtuais.
  • Sim, porque ao passar por todos esses artigos, agora entendemos como o Python funciona, como o IRIS funciona e o que é um ambiente virtual; talvez possamos simular um ambiente virtual dentro do IRIS usando as configurações e setups corretos.

Como simular um ambiente virtual no IRIS?

Um ambiente virtual é duas coisas:

  • Uma versão específica do Python
  • Um diretório site-packages

Temos no IRIS o que chamamos de Flexible Python Runtime, que nos permite

  • usar uma versão específica do Python.
  • atualizar o sys.path para incluir um diretório específico.

Portanto, podemos simular um ambiente virtual no IRIS usando o Flexible Python Runtime e configurando o sys.path para incluir um diretório específico e uma versão específica do Python.. 🥳

Configurar um Flexible Python Runtime no IRIS é fácil, você pode seguir os passos na documentação do IRIS.

Resumindo, você precisa:

  1. Configurar o PythonRuntimeLibrary para apontar para o arquivo lib do Python da versão específica que você deseja usar.

    Exemplo:

    • Windows : C:\Program Files\Python311\python3.dll (Python 3.11 on Windows)
    • Linux : /usr/lib/x86_64-linux-gnu/libpython3.11.so.1.0 (Python 3.11 no Ubuntu 22.04 na arquitetura x86)
  2. Configurar o PythonPath para apontar para o diretório site-packages da versão específica do Python que você deseja usar.

    Exemplo:

    • Use o diretório site-packages do seu ambiente virtual, que geralmente está localizado em .venv/lib/python3.x/site-packages.

⚠️ Isso irá configurar toda a sua instância do IRIS para usar uma versão específica do Python e um diretório site-packages específico.

🩼 Limitações :

  • Você não terá exatamente o mesmo sys.path como em um ambiente virtual, porque o IRIS adicionará alguns diretórios ao sys.path automaticamente, como /lib/python e outros que vimos no artigo sobre módulos.

🤫 Se você quiser torná-lo automático, você pode usar este pacote incrível: iris-embedded-python-wrapper

Para usá-lo, você precisa:

Estar no seu ambiente venv, então instale o pacote:

(.venv) user@machine:~/project$
pip install iris-embedded-python-wrapper

Então, simplesmente vincule este venv ao IRIS com o seguinte comando:

(.venv) user@machine:~/project$
bind_iris

Você verá a seguinte mensagem:

INFO:iris_utils._find_libpyton:Created backup at /opt/intersystems/iris/iris.cpf.0f4a1bebbcd4b436a7e2c83cfa44f515
INFO:iris_utils._find_libpyton:Created merge file at /opt/intersystems/iris/iris.cpf.python_merge
IRIS Merge of /opt/intersystems/iris/iris.cpf.python_merge into /opt/intersystems/iris/iris.cpf
INFO:iris_utils._find_libpyton:PythonRuntimeLibrary path set to /usr/local/Cellar/python@3.11/3.11.13/Frameworks/Python.framework/Versions/3.11/Python
INFO:iris_utils._find_libpyton:PythonPath set to /xxxx/.venv/lib/python3.11/site-packages
INFO:iris_utils._find_libpyton:PythonRuntimeLibraryVersion set to 3.11

Para desvincular o venv do IRIS, você pode usar o seguinte comando:

(.venv) user@machine:~/project$
unbind_iris

Conclusões

Vimos quais são os benefícios de usar ambientes virtuais em Python, como criá-los e usá-los, e como simular um ambiente virtual no IRIS usando o Flexible Python Runtime.