[Résolu] Problème installation bibliothèque RPLCD et AdaFruit

Bonjour,
Je suis débutant sur Raspberry pi et Python, je m’excuse donc par avance sur mes questions qui peuvent peut-être évidentes :slight_smile:.
J’ai donc fais l’acquisition d’une Raspberry PI4 avec Raspian Bullseye pré-installée.
J’ai également débuté la programmation Python avec un petit code pour allumer une LED sur les broches GPIO ( classique ).
Je ne suis pas peu fier du résultat pour un premier jet !
Je souhaiterais aller plus loin en programmant un afficheur LCD et un servo-moteur mais je butte inlassablement sur l’installation des bibliothèques RPLCD et AdaFruit.
J’avoue ne pas comprendre les dépendances et leur fonctionnement.
Voici les messages d’erreur suite à la commande « sudo pip install RPLCD » :

Traceback (most recent call last):
File « /usr/bin/pip », line 33, in
sys.exit(load_entry_point(‹ pip==20.3.4 ›, ‹ console_scripts ›, ‹ pip ›)())
File « /usr/bin/pip », line 25, in importlib_load_entry_point
return next(matches).load()
File « /usr/lib/python3.9/importlib/metadata.py », line 77, in load
module = import_module(match.group(‹ module ›))
File « /usr/lib/python3.9/importlib/init.py », line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File «  », line 1030, in _gcd_import
File «  », line 1007, in _find_and_load
File «  », line 986, in _find_and_load_unlocked
File «  », line 680, in _load_unlocked
File «  », line 790, in exec_module
File «  », line 228, in _call_with_frames_removed
File « /usr/lib/python3/dist-packages/pip/_internal/cli/main.py », line 10, in
from pip._internal.cli.autocompletion import autocomplete
File « /usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py », line 9, in
from pip._internal.cli.main_parser import create_main_parser
File « /usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py », line 7, in
from pip._internal.cli import cmdoptions
File « /usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py », line 23, in
from pip._vendor.packaging.utils import canonicalize_name
File « /usr/lib/python3/dist-packages/pip/_vendor/init.py », line 94, in
vendored(« requests.packages.urllib3.contrib.pyopenssl »)
File « /usr/lib/python3/dist-packages/pip/_vendor/init.py », line 36, in vendored
import(modulename, globals(), locals(), level=0)
File «  », line 1007, in _find_and_load
File «  », line 986, in _find_and_load_unlocked
File «  », line 664, in _load_unlocked
File «  », line 627, in _load_backward_compatible
File «  », line 259, in load_module
File « /usr/share/python-wheels/urllib3-1.26.5-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py », line 50, in
File « /usr/lib/python3/dist-packages/OpenSSL/init.py », line 8, in
from OpenSSL import crypto, SSL
File « /usr/lib/python3/dist-packages/OpenSSL/crypto.py », line 1556, in
class X509StoreFlags(object):
File « /usr/lib/python3/dist-packages/OpenSSL/crypto.py », line 1577, in X509StoreFlags
CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module ‹ lib › has no attribute ‹ X509_V_FLAG_CB_ISSUER_CHECK ›

Idem avec la commande PIP3 et en installation manuelle.
Idem aussi avec d’autres bibliothèque :frowning: .

Par avance merci de vos réponses et de votre indulgence

Bonjour,

Ce problème n’est pas forcément évident. Il me semble que cela soit du à une incompatibilité de version entre les différents paquets python installés.
Dans ce cas de figure, dans un premier temps, je soumettrais l’erreur à un moteur de recherche: « AttributeError: module ‹ lib › has no attribute ‹ X509_V_FLAG_CB_ISSUER_CHECK › ».
Si aucune solution « facile » n’est présente, je recommande de créer un environnement virtuel python, cela permet d’isoler les différentes versions autour de chaque projet.

EDIT: Lien création d’un environement virtuel

A+

Bonjour et merci Jelopo,
Je regarde vos recommandations et je n’hésiterais pas à indiquer les résultats (positifs ou non) sur le forum.
Merci

Bonjour,
Simplement pour indique qu’avec un environnement virtuel cela a fonctionner
Merci Jelopo :slight_smile:

Bonjour,
Bravo et merci pour le retour.
Effectivement, l’utilisation des environnements virtuel permet créer une cohérence en isolant les versions des paquets nécessaires à chaque projet.

A+