Installer bCNC sur un Raspberry Pi en 2024

Si vous passez la commande recommandée sur le site github, vous allez avoir une erreur comme ci-dessous

bernard@raspberrypi:~ $ pip install --upgrade bCNC

error: externally-managed-environment
This environment is externally managed

To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.


If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.


If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.


See /usr/share/doc/python3.11/README.venv for more information.

Le message nous indique qu’il est impossible d’installer un “package” non géré par Debian/Raspbian, il faut créer un environnement virtuel. En même temps, comme il n’existe pas d’exécutable de bCNC préparé pour le Raspberry Pi, nous allons compiler les sources. Même pas peur ! En suivant ce guide pas à pas, bCNC fonctionnera sur votre Raspberry Pi tout en douceur. Simplement, soyez patient et attentif à ce que vous faites.

Note importante avant de commencer: vérifiez votre version installée de Python avec la commande Python3 -V, et partout dans les commandes indiquées ici remplacez 3.9 par les chiffres de votre version. De la même manière, remplacez “bernard” par votre nom. Je conseilles TRES FORTEMENT de créer un compte utilisateur et de s’en servir. Une erreur faite en temps que “root” peut endommager complètement votre système.

1- Création de l’environnement virtuel

bernard@raspberrypi:∼ $ python3 -m venv CNC
Cette commande venv crée un  nouveau répertoire qui sera le conteneur de notre environnement virtuel. L’activation de cet environnement se fait en entrant dans le répertoire, puis en passant la commande source:
bernard@raspberrypi:∼ $ cd CNC
bernard@raspberrypi:∼/CNC $ source bin/activate
(CNC) bernard@raspberrypi: ∼/CNC $

2- Installation des librairies nécessaires

A partir de maintenant l’attente Raspberry Pi ne sera plus indiquée, juste la ou les commandes a passer.
Pour pouvoir complier correctement, nous avons besoin de quelques librairies installées globalement. Il est possible qu’elles ne soient pas toutes obligatoires, mais mieux vaut en avoir trop que pas assez…
sudo apt install libjpeg-dev zlib1g-dev gfortran cmake libopenblas-dev
Selon votre version de Python et de Raspbian, il est possible que cs librairies soient déjà installées, auquel cas le système vous indiquera que vous avez déjà la version la plus récente de ces librairies.

3- Installation des librairies Python

Il nous faut maintenant installer un certain nombre de librairies Python. Assurez vous d’être dans l’environnement virtuel avant de passer ces commandes.
pip install Pillow
pip install opencv-python
pip install numpy
pip install svgelements
pip install shxparser
pip install pyserial
pip install scipy

4- Copie de bCNC dans le répertoire site-packages

C’est le moment d’aller télécharger bCNC depuis GitHub https://githb.com/vlachoudis/bCNC

Sélectionnez “DOWNLOAD zip. Vous trouverez le fichier téléchargé dans votre répertoire “Téléchargements” du Pi. Ouvrez le répertoire dans le gestionnaire de fichiers par un double-clic, et sélectionnez “ouvrir ici”

L’extraction crée un répertoire bCNC-master, comme vous pouvez le voir sur l’image. Double-cliquez à nouveau sur ce répertoire pour entrer à l’intérieur. Sélectionnez et copiez le répertoire bCNC, et allez le coller dans votre répertoire /home/bernard/CNC/lib/python3.9/site-packages, comme vous pouvez le voir ici:



Il est possible d’avoir un message d’erreur disant que vous n’êtes pas autorisé à cette sélection ou copie. Dans ce cas, vous pouvez faire cette copie en utilisant la ligne de commande.
Commencez par créer le répertoire bCNC dans site-packages: sudo mkdir /home/bernard/CNC/lib/python3.9/site-packages/bCNC
Passez ensuite la commande suivante: sudo cp -a /home/bernard/Téléchargements/bCNC-Master/bCNC/. /home/bernard/CNC/lib/pythn3.9/site-packages/bCNC/

pour copier le contenu du répertoire source dans votre répertoire site-packages. Profitez-en pour vérifier le contenu de ce répertoire, qui devrait être identique à ce que vous voyez sur l’image.

5- Lancement de bCNC

Toujours dans l’environnement virtuel, lancez la commande 
python3.9 -m bCNC
pour lancer bCNC. Python3.9 est la version installée sur mon Pi. Pour vérifier quelle est votre version, passez la commande
pyhon3 -V

6- LANCER bCNC sans ETRE DANS l’environnement virtuel

Bon, c’est très bien tout ça, mais dans l’état actuel, pour lancer bCNC, il faut d’abord que j’active mon environnement virtuel avant de pouvoir lancer bCNC. Si je veux éviter d’avoir à taper cette suite de commandes à chaque fois, il me faut créer un petit “script” Linux, et je n’aurais plus qu’à taper “bCNC” sans me soucier de savoir dans quel répertoire je suis.
Comment faire ?
D’abord,  je vais créer un fichier .sh dans mon répertoire ∼ (/home/bernard/)
sudo nano bCNC.sh
Dans ce fichier, j’insère les lignes
#!/bin/bash
source /home/bernard/CNC/bin/activate
python3 -m bCNC

et je valide avec CTRL+X, O (Oui), Enter pour valider le nom du fichier. Il me faut rendre ce  script exécutable avant de le tester:
sudo chmod +x bCNC.sh
Maintenant, je peux vérifier le fonctionnement de mon script de commande en tapant
bash bCNC.sh
ce qui devrait lancer bCNC, s’il n’y a pas de faute de frappe. 
Très bien, ça fonctionne. (J’espère pour vous!).Mais ça fait encore trop long à taper, et il faut toujours que je sois bien dans mon répertoire home pour que cela fonctionne. Pour ne plus vous soucier de cela, il  faut aller activer ce script globalement:
sudo install bCNC.sh  /usr/local/bin/bCNC
Et voilà! Où que je sois allé me promener dans mes répertoires, il me suffit maintenant de taper ‘bCNC’ pour lancer le programme. 
Elle est pas belle, la vie ?

Un GRAND merci à Jipe sur le forum pour son aide, je n’y serais pas arrivé sans son aide. Encore merci.

4 réflexions sur “Installer bCNC sur un Raspberry Pi en 2024”

  1. Comme disait l’autre : j’aime quand un plan se déroule sans accrocs…
    Juste deux compléments :
    1- Pour copier bCNC dans le répertoire site-packages, il faut ouvrir ce répertoire en mode administrateur, sinon on se fait jeter
    2- je suppose que ton raspi tourne sur Raspian ; n’est-il pas possible de créer un lanceur pour démarrer bCNC ? C’est plus souple de cliquer sur une icone que de saisir une ligne de commande. Jette un oeil la-dessus : https://forums.raspberrypi.com/viewtopic.php?t=324343. Je ne peux pas le tester, je suis sous ubuntu-mate.

    1. Merci pour ton commentaire, Jipe. Pour le 1, je n’ai pas eu ce problème en enregistrant la vidéo. Sinon il est toujours possible de faire la copie en ligne de commande.
      Pour l’icone, pas regardé comment faire, mais je suis sûr que tu as raison. Je mettrais une note pour l’article après avoir testé. Trop tard pour la vidéo…

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Retour en haut