MicroPython-Hack-upip

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Qu'est ce que PIP?

pip est un gestionnaire de paquets utilisé pour installer et gérer des paquets écrits en Python. De nombreux paquets peuvent être trouvés sur le dépôt Python Package Index plus connu sous le nom PyPI.

Dans le monde Python traditionnel, Pip est un utilitaire en ligne de commande qui s'utilise comme ceci:

pip install Nom_du_paquet

Qu'est ce que UPIP

UPIP est un module particulier de MicroPython qui permet de réaliser la même chose que l'utilitaire PIP.

UPIP localise le paquet sur PiPy et le télécharge sur la plateforme MicroPython via la connexion WiFi.

PythonPackageIndex.png

Vous pouvez localiser les paquets destinés à MicroPython sur Python Package Index en faisant une recherche sur "micropython-".

Micropython-Hack-upip-00.png

Utiliser upip

Sur un ESP8266 (un ESP32 ou Pyboard avec interface Ethernet ) upip permet d'installer la bibliothèque dans le sous-répertoire lib de la plateforme MicroPython.

Nous allons installer le paquet micropython-abc, un paquet d'exemple.

Saisissez le code suivant dans une session REPL:

>>> import upip
>>> upip.install( "micropython-abc" )

Ce qui produit le résultat suivant:

>>> upip.install( "micropython-abc" )
Installing to: /lib/
Warning: pypi.python.org SSL certificate is not validated
Installing micropython-abc 0.0.1 from https://pypi.python.org/packages/fe/9e/56d08ca07866279e6d3506d469e632471487a840eef38ab835d0fdbcafd0/micropython-abc-0.0.1.tar.gz

il est ensuite possible de contrôler l'installation comme le montre la sessions REPL suivante.

  • Le répertoire lib à été créé dans la racine du système de fichier.
  • Le répertoire lib contient bien la bibliothèque abc.py.
>>> import os
>>> os.listdir()
['boot.py', 'mqtt_sub.py', 'webrepl_cfg.py', 'mqtt_pub.py', 'main._', 'aio_demo.py', 'diss_irq.py', 'lib']
>>> os.listdir('lib')
['abc.py']
>>> import abc
>>> help( abc )
object <module 'abc'> is of type module

C'est trop de la balle.