Makina Blog
Tutoriel: Installation de PySNMP sur Windows
L'installation de librairies Python avec pip peut devenir compliquée sous Windows lorsque les librairies installées nécessitent d'être compilées.
Installer PySNMP sous Windows
L'installation de PySNMP sous Windows peut s'avérer délicate en raison de la compilation de la librairie PyCrypto dont dépend PySNMP.
Pour commencer vous devez disposer d'un environnement Python opérationnel.
Nous vous proposons Python 3.5 et l'éditeur PyCharm.
Si vous utilisez Eclipse, l'éditeur PyDEV est un très bon choix lui aussi.
Python 3.5
Pour installer Python vous pouvez aussi installer "la distribution" Anaconda (solution recommandée) :
- Elle contient de nombreuses librairies professionnelles prêtes à l'emploi
- Notamment pour le tracé de graphiques comme vous pouvez le vérifier dans la galerie Matplotlib
- Elle inclut la librairie PyCrypto qui pose problème avec un Python provenant du site Python.org
Lors de l'installation de Python, quelque soit votre choix d'installation, veillez à:
- Choisir le mode avancé s'il y en a un
- Installer Python pour tous les utilisateurs de la machine
- Installer Python dans un chemin simple comme c:\Python35 ou c:\Anaconda3
- Ajouter Python au PATH système
Puis installez un environnement de développement (éditeur):
Il existe bien sûr de nombreux autres éditeurs.
Installation de PySNMP
Excepté si vous disposez d'un environnement Microsoft Visual C++ (ou équivalent) correctement configuré
l'installation de la librairie PySNMP échouera avec un Python3.5 téléchargé sur http://python.org.
Avec Anaconda vous n'aurez pas de souci car PyCrypto fait partie des librairies incluses dans cette distribution.
Depuis l'invite de commande MSDOS, exécutez: c:\Anaconda3\Scripts\pip.exe install pysnmp
(Sous réserve que vous ayez installé Anaconda dans le dossier c:\Anaconda3)
C:\MyProject>c:\Anaconda3\Scripts\pip.exe install pysnmp Collecting pysnmp Downloading pysnmp-4.3.2-py2.py3-none-any.whl (254kB) 100% |################################| 256kB 568kB/s Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.4.1 in c:\anaconda3\lib\site-packages (from pysnmp) Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.8 in c:\anaconda3\lib\site-packages (from pysnmp) Collecting pysmi (from pysnmp) Downloading pysmi-0.0.7-py2.py3-none-any.whl (62kB) 100% |################################| 71kB 6.0MB/s Requirement already satisfied (use --upgrade to upgrade): ply in c:\anaconda3\lib\site-packages (from pysmi->pysnmp) Installing collected packages: pysmi, pysnmp Successfully installed pysmi-0.0.7 pysnmp-4.3.2
Avec un Python classique c'est plus compliqué:
C:\MyProject>c:\Python35\Scripts\pip.exe install pysnmp Collecting pysnmp Using cached pysnmp-4.3.2-py2.py3-none-any.whl ... Collecting pycrypto>=2.4.1 (from pysnmp) Downloading pycrypto-2.6.1.tar.gz (446kB) ... Installing collected packages: pyasn1, ply, pysmi, pycrypto, pysnmp Running setup.py install for ply Running setup.py install for pycrypto Complete output from command c:\python35\python.exe -c "import setuptools, tokenize; running install running build ... copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-3.5\Crypto\Signature Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma running build_ext building 'Crypto.Random.OSRNG.winrandom' extension warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. error: Unable to find vcvarsall.bat ---------------------------------------- ←[31mCommand "c:\python35\python.exe -c "import setuptools, tokenize; --compile" ****failed with error code 1****
Dans ce cas téléchargez un binaire PyCrypto pour votre version de Python depuis ce site :
- Python 3.5: https://github.com/sfbahr/PyCrypto-Wheels
- Autre Python: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
Et installez-le.
Pour installer le binaire PyCrypto pour Python 3.5, la meilleure manière est d'exécuter la commande fournie
sur le site github:
Python 64Bits:
C:\MyProject>c:\Python35\Scripts\pip.exe install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto ... Successfully installed pycrypto-2.6.1
Python 32Bits:
C:\MyProject>c:\Python35\Scripts\pip.exe install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win32.whl pycrypto
Puis installez PySNMP:
C:\MyProject>c:\Python35\Scripts\pip.exe install pysnmp Collecting pysnmp Using cached pysnmp-4.3.2-py2.py3-none-any.whl ... Installing collected packages: pysnmp Successfully installed pysnmp-4.3.2 C:\MyProject>c:\Python35\python.exe Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pysnmp >>> exit()
Utiliser PySNMP et tester la bonne configuration de votre environnement
Maintenant que vous avez correctement installé la librairie PySNMP, il convient de vérifier que votre environnement de travail soit adapté pour développer les traitements que vous envisagez:
- Vous devez disposer d'un accès à un agent (une machine, un routeur, une imprimante compatible avec ce protocole) dont vous connaissez l'adresse IP
- D'un accès au port 161 vers cette adresse IP
- Eventuellement d'un accès au port 162 vers une IP appropriée si vous voulez gérer des trappes:
- En envoyer si vous développez un agent,
- En recevoir si vous êtes le superviseur
- D'une connaissance des communautés nécessaires (protocoles v1 et v2) ou d'un compte utilisateur avec ses informations de connexion (protocole v3) pour intérroger l'agent
Nous vous proposons de tester cela avec le site demo.snmplabs.com:
Si vous êtes sous Linux vous pouvez vérifier que vous avez bien accès à votre agent via la commande SNMPGET:
$ snmpget -v1 -c public demo.snmplabs.com sysLocation.0 sysDescr.0 SNMPv2-MIB::sysLocation.0 = Moscow, Russia SNMPv2-MIB::sysDescr.0 = SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m
Mais vous êtes sous Windows… Et vous ne disposez probablement pas d'une telle commande sur ce système.
PySNMP dispose d'une librairie supplémentaire fournissant ces commandes: pysnmp_apps, installez-la.
C:\MyProject>c:\Python35\Scripts\pip.exe install pysnmp_apps Collecting pysnmp-apps Downloading pysnmp_apps-0.4.1-py2.py3-none-any.whl ... Installing collected packages: pysnmp-apps Successfully installed pysnmp-apps-0.4.1
Les commandes disponibles à présent sont les suivantes:
- snmpbulkwalk.py
- snmpget.py
- snmpset.py
- snmptranslate.py
- snmptrap.py
- snmpwalk.py
C:\MyProject>c:\Python35\Scripts\snmpget.py -v1 -c public demo.snmplabs.com sysLocation.0 sysDescr.0
Si cela ne fonctionne pas, essayez d'ajouter le nom de l'interpréteur python devant le nom du script:
C:\MyProject>c:\Python35\python.exe c:\Python35\Scripts\snmpget.py -v1 -c public demo.snmplabs.com sysLocation.0 sysDescr.0
Mais bien sûr, cela fonctionnera :
SNMPv2-MIB::sysLocation.0 = Moscow, Russia SNMPv2-MIB::sysDescr.0 = SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m
Bienvenue dans le monde des utilisateurs de PySNMP !
Il ne vous reste plus qu'à découvrir le protocole SNMP et apprendre à l'utiliser avec PySNMP en suivant notre tutoriel SNMP avec Python.
Formations associées
Formations IA / Data Science
Formation Initiation au Python scientifique
À distance (FOAD) Du 2 au 6 décembre 2024
Voir la formationActualités en lien
Makina Corpus est sponsor de la PyConFR 2024
Le soutien de Makina Corpus à la PyConFR 2024, qui se tient du 31 octobre au 3 novembre 2024 à Strasbourg, reflète ses valeurs de partage et d’innovation, et son engagement envers la communauté dynamique et ouverte de Python.
Revoir les webinaires : découverte de l’outil CANARI-France
L’application CANARI-France est destiné aux acteurs agricoles afin de calculer des indicateurs agro-climatiques à partir de projections climatiques. Découvrer en le replay des 4 webinaires organisés par Solagro et l’ADEME.
La formation Python éligible au CPF est enfin arrivée
Makina Corpus propose un nouvelle formation Python éligible au CPF. Grâce à cette certification, cette formation peut être entièrement financée par votre compte Compte Personnel de Formation.