Skip to main content

C'est la Z

Setting up Linux for Flask Web Development

Those laptops that my Hunter students were supposed to get have finally arrived. We're distributing them on Monday. Each student will have a Dell laptop running Ubuntu 16.04 for as long as they're in the program.

This means we can finally start using the web as a way of displaying and sharing our projects.

For this type of web development, I'm a big fan of using Flask. Flask is a Python microframework. The easiest analogy is saying it's like Ruby on rails but in Python. That's close enough for our purposes.

I much prefer Python to Ruby as a teaching tool because it leads to roads going in all sorts of directions so it was merely a matter of figuring out which framework or platform to use. I found Django to be far too big, cumbersome, and all encompasing while on the other hand, Werkzeug, which Flask is based on is a little too low level.

Flask hit the sweet spot. Easy routing, session and form handling, templates, pretty much everything I was looking for but very unopinionated and open ended. Perfect for teaching and learning and perfect for lightweight projects. The sourecode is also straightforward enough for a student to explore.

Below is a video going over setting up Linux from right after an install to use the python virtualenv package. The next video will go over installing Flask and setting up a simple application. Later, I'll post a video on deployment to a Digital Ocean Droplet.

Here are some notes relating to the video.

First, go to your "software sources" or "software updates" application from the menu and select all the sources (as described n the video)

To update a new system:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgade

To install the most recent emacs snapshot

sudo apt-add repository -y ppa:ubuntu-lisp
sudo apt-get update
sudo apt-get install emacs-snapshot

To install python pip (used to install other python packages)

sudo apt-get install python-pip

and then to install the virtualenv packages

sudo pip install virtualenv

To create a python3 virtual environment

pip install -p python3 venv-folder
  • You can activate the envorinment (assuming you create the folder under

your home directory):

source ~/venv-folder/bin/activate

And to deactivate it, from the activated terminal


Here's the video. Next time, we'll install Flask into an virtual environment.

comments powered by Disqus