2. Install the software#
The next step is to install the software.
The BrachioGraph library requires a few additional components. It needs to be run in a Python 3 environment, using Python 3.6 or later.
2.1. Install system packages#
You may have some of these installed already, but that shouldn’t matter. The packages include:
venv
, for managing virtual environments under Python 3PIGPIO, an excellent library that provides hardware control of the Pi’s GPIO pins - important for accurate timing of pulses. It comes with a Python interface to the lower-level code.
various system libraries required by the Pillow Python imaging library
libatlas3-base
andlibgfortran5
, required by the Numpy Python mathematics librarypython3-tk
, for the Turtle graphics integrationGit
Select the steps for installation using Ubuntu or Raspberry PiOS appropriately below.
Run:
sudo apt install -y python3-venv python3-tk libjbig0 libjpeg-dev liblcms2-2 libopenjp2-7 libtiff5 libwebpdemux2 libwebpmux3 libzstd1 libatlas3-base libgfortran5 git python3.10-venv python3-dev unzip make build-essential python3-pip
The PIGPIO library is not available via apt
on Ubuntu, so it needs to be installed
with make
, which we’ll do in a temporary workspace:
cd /tmp
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install
cd
Run:
sudo apt install -y python3-venv python3-tk pigpiod libjbig0 libjpeg-dev liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 libzstd1 libatlas3-base libgfortran5 git
2.2. Set up a virtual environment#
Create and activate a Python virtual environment to work in:
python3 -m venv env
source env/bin/activate
The environment needs to be active whenever you are using the plotter. You can tell when the virtual environment is active from the bash prompt:
(env) pi@raspberrypi:~ $
If you need to reactivate the environment, run source env/bin/activate
once again, in this directory,
2.3. Clone the BrachioGraph repository#
Use Git to clone the BrachioGraph
repository from https://github.com/evildmp/brachiograph:
git clone https://github.com/evildmp/BrachioGraph.git
Or, if you have already set up a public key using ssh-keygen
and added your public key to your GitHub account you can use SSH instead:
git clone git@github.com:evildmp/BrachioGraph.git
2.4. Install Python packages#
Pinned versions of the Python packages are listed in requirements.txt
in the BrachioGraph directory. Install them
by running:
cd BrachioGraph
pip install -r requirements.txt
This will install:
Numpy, a Python mathematics library
PIGPIO’s Python library
Pillow, the most widely-used Python imaging library.
tqdm
, for the progress indicator while drawingreadchar
, to allow theBrachioGraph.drive()
methods to accept user inputpytest
, to run the test suite
You only need to install them once in your virtual environment. Next time you activate the virtual environment, you’ll find that they’re still there.