Here are the commands required to reproduce the environment for running solutions on a Raspberry Pi Single Board Computer
The editor and language options available are:
VS Code
Python, Julia, R, Wolfram
Jupyter Lab
Python, Julia, R, Wolfram, Octave SciLab
Pluto notebook
Julia
Octave
Octave
wxMaxima
Maxima
These commands were entered on Raspberry Pi OS Buster 64bit on a 4GB Raspberry Pi
From https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/ downloaded 2021-05-07-raspios-buster-arm64.zip
Flashed to 32GB sd card with Balena Etcher
Booted on RPI4
Tick use English language Next
New password Next
Set Up Screen tick this screen shows a black border Next
Select wifi network Skip (cabled)
Update software Skip
Setup Complete Restart
Raspberry > Preferences > Raspberry Pi Configuration> Interfaces enable SSH and VNC
In terminal
sudo apt-get update
sudo apt-get full-upgrade
sudo reboot
mkdir Developer
sudo apt-get update
sudo apt-get install wolfram-engine
From https://github.com/conda-forge/miniforge downloaded Miniforge3-Linux-aarch64
In terminal in Downaloads bash Miniforge3-Linux-aarch64.sh
Chose to Initialise miniforge3
Restart Terminal
conda create -n rp395 python=3.9.5
conda activate rp395
which python shows /home/pi/miniforge3/envs/rp395/bin/python
python -V shows Python 3.9.5
which pip shows /home/pi/miniforge3/envs/rp395/bin/pip
pip install jupyterlab
conda install -c conda-forge vtk
ONE AT A TIME if crashes
pip install numpy sympy matplotlib pandas plotly bokeh scipy seaborn statsmodels octave-kernel ipympl ipyvtklink vispy jupyter_rfb vpython pyvista QtPy scilab-kernel
pip install watermark ipywidgets
sudo apt-get install octave
sudo apt-get install scilab
pip install gnuplot_kernel
python -m gnuplot_kernel install – -user
From julialang.org/downloads downloaded 64bit AArch64 of v1.6.2
Unzipped tar to /home/pi/julia-1.6.2
ln -s /home/pi/julia-1.6.2/bin/julia /home/pi/miniforge3/envs/rp395/bin/julia
julia
using Pkg
Pkg.add(“IJulia”)
Pkg.add(“Plots”)
Pkg.add(“DifferentialEquations”)
Pkg.add(“StaticArrays”)
Pkg.add(“BoundaryValueDiffEq”)
Pkg.add(“OrdinaryDiffEq”)
Pkg.add(“Sundials”)
Pkg.add(“SciMLBase”)
Pkg.add(“Plotly”)
Pkg.add(“PlotlyBase”)
exit()
From https://nodes.org/en/downloads/current downloaded Linux binaries ARMv8
Extract files from node-v16.8.0-Linux-arm64.tar.xz to /home/pi/node-v16.8.0
ln -s /home/pi/node-v16.8/bin/node /home/pi/miniforge3/envs/rp395/bin/node
From github.com/WolframResearch/WolframLanguageForJupyter.git downloaded WolframLanguageForJupyter-master.zip
Unzipped to home/pi/wolfram
In p395 environment in Wolfram directory created
./configure-jupyter.wls add
sudo apt-get purge dillo
sudo apt install r-base r-base-core r-base-dev
R
install.packages(‘IRkernel’)
yes
yes
IRkernel::installspec()
quit()
n
sudo apt install code
code
Add Python, Julia, REditor support extensions
jupyter-lab build
jupyter labextension list
jupyter kernelspec list
jupyter nbextension list
jupyter-lab Verify working with test notebook Then shutdown
jupyter notebook –generate-config
jupyter notebook password
In rp395 Julia add Pluto, import Pluto, Pluto.run(host=“=0.0.0.0”)