Data Science On The Go with Docker and Raspberry Pi
Building a portable web-based DataScience development environment for ~ $20.
The image above contains the Raspberry Pi Foundation's latest version of their minimalist SBC - The Raspberry Pi Zero W
Introduction
I work in a number of programming environments and various languages, primarily Python, R and SQL. My MacbookPro serves as my main development computer, but I wasn't so keen on installing MySQL, and the potential for security exploits left me looking for a better option.
As a vocal owner of many Raspberry Pi computers, this seemed like a prime opportunity to let loose the new smaller single core model Zero W.
Installing and configuring a MySQL server with phpmyadmin for a web interface on the Raspberry Pi is a rather straightforward process and takes only a few minutes. I was very happy with the results, the Raspberry Pi Zero has sufficient cpu power and memory to function as a good networked database. Afterwards, I wanted to expand the functionality to include Python and R programming environments that can be accessed across the network through a web browser.
Adding Python and R turned out to be a lot trickier than MySQL in the sense that there are often multiple (possibly conflicting) dependencies required in order to successfully install most libraries/packages for Python & R. As a solution I decided to configure all of the necessary software/dependencies for Python & R within a docker image. Docker is a virtualization software that allows users to build and run docker images that contain a given set of software and all the necessary dependencies/requirements. The result is a standardized easy way to deploy the software, and the docker image only needs to be built/compiled once (a process that takes 2+ hours on a Raspberry Pi 3).
Continue reading for instructions setup your own DataScience environment on a Raspberry Pi.