Introduction aux environnements virtuels en Python

Cet article vous présente le concept des environnements virtuels en Python, qui sont essentiels pour gérer les dépendances et isoler les projets du système d'exploitation.
Qu'est-ce qu'un environnement virtuel?
Un environnement virtuel est un dossier qui contient :
- Une version spécifique de Python
- Au démarrage, un répertoire site-packages vide
Les environnements virtuels vous aideront à isoler votre projet de l'installation Python du système d'exploitation et d'autres projets.
Utilisation
Pour utiliser les environnements virtuels, vous pouvez suivre les étapes suivantes:
Création d'un environnement virtuel: Vous pouvez créer un environnement virtuel à l'aide du module
venvfourni avec Python. Ouvrez votre terminal et exécutez:python -m venv .venvRemplacez
.venvpar le nom de l'environnement souhaité.Activation de l'environnement virtuel: Après avoir créé l'environnement virtuel, vous devez l'activer. La commande varie en fonction de votre système d'exploitation:
- Sous Windows:
.venv\Scripts\Activate.ps1Si vous rencontrez une erreur, vous devrez peut-être exécuter la commande suivante dans votre terminal
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .venv\Scripts\Activate.ps1- Sous macOS et Linux:
source .venv/bin/activate
Une fois activé, le prompt de votre terminal se modifie pour indiquer que vous travaillez désormais dans l'environnement virtuel.
Exemple:
(.venv) user@machine:~/project$
Remarquez le préfixe (.venv) du prompt du terminal, qui indique que l'environnement virtuel est actif.
Vous pouvez maintenant installer des packages à l'aide de pip. Ils seront installés dans l'environnement virtuel plutôt que dans l'installation globale de Python.
Puis-je utiliser des environnements virtuels dans IRIS?
Bonne question!
La réponse est simple : oui et non.
- Non, puisque IRIS ne prend pas officiellement en charge les environnements virtuels.
- Oui, puisque après avoir lu tous ces articles, nous connaissons désormais le fonctionnement de Python, celui d'IRIS et nous savons ce qu'est un environnement virtuel. Nous sommes donc peut-être en mesure de simuler un environnement virtuel dans IRIS en utilisant les configurations et les paramètres appropriés.
Comment simuler un environnement virtuel dans IRIS?
Un environnement virtuel comprend deux éléments:
- Une version spécifique de Python
- Un répertoire site-packages
IRIS dispose d'un système appelé Flexible Python Runtime (environnement d'exécution Python flexible) qui nous donne la possibilité suivante:
- utiliser une version spécifique de Python.
- mettre à jour le
sys.pathpour inclure un répertoire spécifique.
Nous pouvons donc simuler un environnement virtuel dans IRIS en utilisant leFlexible Python Runtime et en configurant le sys.path pour inclure un répertoire spécifique et une version spécifique de Python. 🥳
La configuration d'un Flexible Python Runtime dans IRIS est facile, vous pouvez suivre les étapes décrites dans la documentation IRIS.
En bref, il faut:
Configurez
PythonRuntimeLibrarypour l'orienter vers le fichier lib python de la version Python spécifique que vous souhaitez utiliser.Exemple:
- Windows : C:\Program Files\Python311\python3.dll (Python 3.11 sous Windows)
- Linux : /usr/lib/x86_64-linux-gnu/libpython3.11.so.1.0 (Python 3.11 sous Ubuntu 22.04 avec architecture x86)
Configurez le
PythonPathpour l'orienter vers le répertoire site-packages de la version Python spécifique que vous souhaitez utiliser.Exemple:
- Utilisez le répertoire site-packages de votre environnement virtuel, qui se trouve généralement dans le répertoire
.venv/lib/python3.x/site-packages.
- Utilisez le répertoire site-packages de votre environnement virtuel, qui se trouve généralement dans le répertoire
⚠️ Ainsi, toute votre instance IRIS sera configurée pour l'utilisation d'une version spécifique de Python et d'un répertoire site-packages spécifique.
🩼 Limitation :
- Vous n'obtiendrez pas exactement le même
sys.pathque pour un environnement virtuel, car IRIS ajoutera automatiquement certains répertoires ausys.path, tels que<installation_directory>/lib/pythonet d'autres que nous avons examinés dans l'article sur les modules.
🤫 Si vous souhaitez automatiser cette opération, vous pouvez utiliser ce formidable package: iris-embedded-python-wrapper
Pour l'utiliser, il faut:
Que vous soyez dans votre environnement venv, puis installez le package:
(.venv) user@machine:~/project$
pip install iris-embedded-python-wrapper
Ensuite, liez simplement ce venv à IRIS à l'aide de la commande suivante:
(.venv) user@machine:~/project$
bind_iris
Vous verrez le message suivant:
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
Pour dissocier le venv d'IRIS, vous pouvez utiliser la commande suivante:
(.venv) user@machine:~/project$
unbind_iris
Conclusion
Vous avez découvert les avantages de l'utilisation d'environnements virtuels en Python, la manière de les créer et de les utiliser, ainsi que la manière de simuler un environnement virtuel dans IRIS à l'aide du Flexible Python Runtime.