Introdução a Ambientes Virtuais em Python

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:
-
Crieum ambiente virtual: você pode criar um ambiente virtual usando o módulo venv que vem com o Python. Abra seu terminal e execute:
-
python -m venv .venvTroque o
.venvpelo nome do ambiente desejado. -
Ative o ambiente virtual: após criar o ambiente virtual, você precisa ativá-lo. O comando varia dependendo do seu sistema operacional:
- No Windows:
-
.venv\Scripts\Activate.ps1Se 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.pathpara 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:
-
Configurar o
PythonRuntimeLibrarypara 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)
-
Configurar o
PythonPathpara apontar para o diretório site-packages da versão específica do Python que você deseja usar.Exemplo:
- Use o diretório
site-packagesdo seu ambiente virtual, que geralmente está localizado em.venv/lib/python3.x/site-packages.
- Use o diretório
⚠️ 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.pathcomo em um ambiente virtual, porque o IRIS adicionará alguns diretórios aosys.pathautomaticamente, comoe outros que vimos no artigo sobre módulos./lib/python
🤫 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.