Après avoir démarrer le Rpi 0 avec la carte SD et finit la configuration, je peux enfin tester l’environnement de travail.
Premier problème après avoir récupéré sur github les scripts du « Jardin des mots », je me rend compte d’une incompatibilité entre la version de pickle pour python 3.7 (celle fournit sur la distribution Raspbian) et la version de pickle pour python 3.8 (celle que j’ai utilisé pour générer le lexique). L’incompatibilité réside dans le fait que j’ai utilisé la dernière version de compression de pickle introduite dans la version 3.8.
Installation pour la version 3.9.1 se trouve ici
https://angorange.com/raspberry-pi-installation-de-python-3-9-1
Ne fonctionne pas sur Raspberry Pi Zero
Lors de mon premier essai sur Raspberry Pi Zero la compilation n'a pas pu aboutir. Probablement un manque de ressource sur le Rpi0. J'ai donc effectué les opérations suivantes sur Raspberry Pi 3 B+, et ensuite j'ai transféré la carte SD sur le Rpi0.
Voici l’article que j’ai suivi : https://installvirtual.com/how-to-install-python-3-8-on-raspberry-pi-raspbian/
Ce n’est pas une installation comme il peut s’en passer sur Windows, dans ce cas, il faut télécharger les sources et les compiler pour Raspbian.
Prérequis
Il faut mettre à jours Raspbian :
sudo apt-get updateEt installer les dépendances nécessaires :
sudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev tar wget
Compiler Python 3.8
Téléchargez les sources :
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
Décompressez l’archive :
tar zxf Python-3.8.0.tgz cd Python-3.8.0Compilez les sources :
sudo ./configure --enable-optimizations sudo make -j 4Installez la version fraichement compilée :
sudo make altinstall
Veuillez laisser les lieux…
cd .. rm -r Python-3.8.0 rm Python-3.8.0.tar.xz
Faire de Python3.8 la version par défaut
Cette partie diffère de l’article utilisé comme référence./usr/bin/python3
Pour mettre en place 2 alternative à l’alias python3, tapez :sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 0 sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.8 1Étant donné que nous avons mis une priorité plus importante pour la version 3.8, cela sera la version utilisée lorsque python3 sera invoqué.
/usr/bin/python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 0 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
Lorsque python sera invoqué ce sera python3, donc python3.8, qui sera appelé.
pip
Il faut maintenant pointer lsb_release vers version de python 3.8 pour que pip puisse fonctionner.
sudo ln -s /usr/share/pyshared/lsb_release.py /usr/local/lib/python3.8/site-packages/lsb_release.py
Conclusion
Nous voici maintenant en possession d’une carte SD avec python3.8 par défaut que nous pouvons utiliser indifféremment sur Rpi0 et Rpi3B+.
Nul, à ne pas faire, cela rend pip innutilisable
Merci pour ce retour. Il se trouve qu’il faut rajouter cette ligne que j’ai oubliée. Je mets à jour l’article.
sudo ln -s /usr/share/pyshared/lsb_release.py /usr/local/lib/python3.8/site-packages/lsb_release.py
Bonjour, je viens de faire les opérations, tout est fonctionnel, merci 🙂