Comment installer ZeroMQ sur Ubuntu 22.04 LTS et l'utiliser avec Python 3
ZeroMQ ou ZMQ pour faire court est une bibliothèque de mise en réseau intégrée. ZMQ vous fournit un socket qui transporte des messages petits/atomiques du client au serveur et vice-versa. Vous pouvez créer des communications de socket un à un, un à plusieurs et plusieurs à plusieurs avec ZMQ. Son modèle d'E/S asynchrone vous permet de construire des applications de messagerie très rapides et évolutives.
Dans cet article, nous vous montrerons comment installer la bibliothèque Python ZeroMQ sur Ubuntu 22.04 LTS en utilisant PIP. Nous vous montrerons également comment écrire un programme basique ZeroMQ/ZMQ en Python 3.
Table des matières :
- Installation des outils de compilation requis sur Ubuntu 22.04 LTS
- Installation de PIP 3 sur Ubuntu 22.04 LTS
- Installation de la bibliothèque Python ZeroMQ sur Ubuntu 22.04 LTS en utilisant PIP
- Vérification de l'installation correcte de la bibliothèque ZeroMQ Python sur Ubuntu 22.04 LTS
- Écrire un programme ZeroMQ de base en Python
- Conclusion
- Références
Installation des outils de compilation requis sur Ubuntu 22.04 LTS
Pour compiler ZeroMQ, vous aurez besoin des outils de construction nécessaires qui doivent être installés sur Ubuntu 22.04 LTS.
Tout d'abord, mettez à jour le cache du dépôt de paquets APT avec la commande suivante :
sudo apt updatePour installer GCC et les outils de compilation requis sur Ubuntu 22.04 LTS, exécutez la commande suivante :
sudo apt install build-essentialPour confirmer l'installation, appuyez sur Y puis appuyez sur <Entrée>.
Les outils de construction comme GCC sont en train d'être téléchargés et installés. Cela prend un certain temps à se compléter.
Les outils de construction comme GCC doivent être installés à ce stade.
Pour vérifier si GCC fonctionne, exécutez les commandes suivantes. Le numéro de version des compilateurs GCC installés devrait être affiché.
gcc --version
g++ --versionInstallation de PIP 3 sur Ubuntu 22.04 LTS
Pour installer le gestionnaire de paquets Python 3 PIP, exécutez la commande suivante :
sudo apt install python3-pipPour confirmer l'installation, appuyez sur Y puis appuyez sur <Entrée>.
Le gestionnaire de packages PIP pour Python 3 devrait être installé.
Pour vérifier si PIP est accessible depuis la ligne de commande, exécutez la commande suivante :
pip --versionInstallation de la bibliothèque Python ZeroMQ sur Ubuntu 22.04 LTS en utilisant PIP
Pour installer la bibliothèque Python ZeroMQ sur Ubuntu 22.04 LTS en utilisant PIP, exécutez la commande suivante :
pip install pyzmqLa bibliothèque Python ZeroMQ doit être installée sur Ubuntu 22.04 LTS.
Vérification de l'installation correcte de la bibliothèque ZeroMQ Python sur Ubuntu 22.04 LTS
Pour vérifier si la bibliothèque Python ZeroMQ est installée correctement sur Ubuntu 22.04 LTS et si vous pouvez y accéder depuis Python, exécutez la commande suivante. Le numéro de version installé de la bibliothèque Python ZeroMQ ou ZMQ devrait être imprimé.
python3 -c 'import zmq; print(f"ZeroMQ version: {zmq.__version__}")'Écrire un programme ZeroMQ de base en Python
Avant d'écrire votre premier programme ZeroMQ en Python, il est sage de créer un répertoire de projet afin de pouvoir garder tous les codes du projet organisés.
Pour créer un répertoire de projet ~/projects/zmq-python (disons), exécutez la commande suivante :
mkdir -pv ~/projects/zmq-pythonDans le répertoire du projet ~/projects/zmq-python, nous avons créé deux scripts Python : « server.py » et « client.py ».
Le "server.py" exécute un serveur ZeroMQ, écoute les demandes des clients ZeroMQ et répond aux demandes.
Le "client.py" est un programme client ZeroMQ. Il envoie des requêtes au serveur ZeroMQ et reçoit des réponses du serveur.
Le code source du script Python “server.py” est :
import time
import zmq
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5000")
print("ZeroMQ listening for requests...")
while True: msg = socket.recv()
print(f"Received message: {msg}")
time.sleep(1)
socket.send(b"Message received. Thanks")
print("Reply sent to client.")Le script Python "server.py" ouvert dans Gedit.
Ici :
La ligne 1 et la ligne 2 importent les modules Python « time » et « zmq ».
Le zmq.Context() crée un contexte ZeroMQ.
Le context.socket() est utilisé pour créer un socket ZeroMQ. Le zmq.REP est utilisé pour créer un socket qui répond aux demandes des clients ZeroMQ.
La méthode socket.bind() est utilisée pour démarrer le serveur ZeroMQ sur le port TCP 5000.
La boucle « while » recherche des messages clients ZeroMQ, les lit et répond aux clients ZeroMQ.
La méthode socket.recv() est utilisée pour lire les messages envoyés par les clients ZeroMQ.
La méthode socket.send() est utilisée pour envoyer des réponses aux clients ZeroMQ.
Le time.sleep(1) fournit un délai artificiel d'une seconde lors de la réponse aux demandes du client ZeroMQ. Cela signifie certains travaux effectués par le serveur ZeroMQ.
Le code source du script Python “client.py ” est :
import zmq
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5000")
print("Connected to the ZeroMQ server.")
print("Sending message to the server...")
socket.send(b"Hello from client")
msg = socket.recv()
print(f"Received reply from server: {msg}")Le script Python “client.py ” est ouvert dans Gedit.
Ici :
La ligne 1 importe le module ZeroMQ et le zmq.Context() crée un contexte ZeroMQ à la ligne 2 dans le script « client.py ».
Le context.socket() est utilisé pour créer un socket ZeroMQ. Le zmq.REQ est utilisé pour créer un socket qui envoie des requêtes au serveur ZeroMQ.
La méthode socket.connect() est utilisée pour se connecter au serveur ZeroMQ qui fonctionne sur le port 5000.
La méthode socket.send() est utilisée pour envoyer un message au serveur ZeroMQ connecté.
La méthode socket.recv() est utilisée pour recevoir des messages du serveur ZeroMQ connecté.
Pour exécuter le programme Python ZeroMQ, naviguez vers le répertoire du projet ~/projects/zmq-python comme suit :
cd ~/projects/zmq-pythonLes programmes Python ZeroMQ « server.py » et « client.py » doivent être dans le répertoire du projet.
ls -lhVous pouvez démarrer le serveur ZeroMQ comme suit :
python3 server.pyPour exécuter le programme client ZeroMQ, exécutez la commande suivante :
python3 client.pyComme vous pouvez le voir, le programme client ZeroMQ qui est connecté au serveur ZeroMQ envoie un message au programme serveur ZeroMQ et reçoit un message du serveur ZeroMQ.
Comme vous pouvez le voir, le serveur ZeroMQ reçoit un message du client ZeroMQ et envoie une réponse au client ZeroMQ.
Si vous souhaitez en savoir plus sur l'écriture d'applications Python avec ZeroMQ, vous pouvez lire l'article sur Comment écrire une application calculatrice client et serveur en utilisant Python et ZeroMQ. Dans cet article, nous utilisons ZeroMQ pour créer un serveur de calculatrice. Le client ZeroMQ prend deux nombres et l'opération arithmétique à effectuer sur les nombres en entrée et envoie les nombres ainsi que l'opération arithmétique à effectuer au serveur ZeroMQ. Le serveur ZeroMQ effectue l'opération arithmétique sur les nombres reçus des clients ZeroMQ et renvoie le résultat au client ZeroMQ. Je vous recommande vivement de l'essayer.
Conclusion
Nous vous avons montré comment installer la bibliothèque Python ZeroMQ sur Ubuntu 22.04 LTS en utilisant PIP. Nous vous avons également montré comment écrire un programme de base ZeroMQ/ZMQ en Python 3, expliqué son fonctionnement et comment l'exécuter.
Références :
- Documentation de ZeroMQ































