Configuring Ubuntu For Python Web Development - BPP Python
Configuring Ubuntu For Python Web Development - BPP Python
What follows are instructions for setting up an Ubuntu 16.04 (Xenial) home environment for use with
this book. I use Ubuntu GNU/Linux for both development and testing of the book, so it is the only sys-
tem about which I can personally answer setup and configuration questions.
In the spirit of software freedom and open collaboration, please contact me if you would like to main-
tain a similar appendix for your own favorite system. I’d be more than happy to link to it or put it on
the Open Book Project site, provided you agree to answer user feedback concerning it.
Thanks!
Jeffrey Elkner
Arlington, Virginia
Python3
Ubuntu 16.04 comes with both Python 2 and Python 3 installed. Typing python at the shell prompt
still launches Python 2. Use the command python3 for Python 3.
In addition to the debian packages in the Ubuntu Package archive, we will be using Python software
from the Python Package Index or PyPI. The tool for installing packages from PyPI is called pip. Since
we want Python 3 packages installed which will work with the Python 3 already on our Ubuntu sys-
tem, we will use the Ubuntu python3-pip debian package.
To add this package run following from the unix command prompt:
Now would also be a good time to install a few other packages you will want to have on your system:
This will install the Tkinter GUI toolkit, the pep8 Python style checker, and the bzr revision control
system which we will use to grab some program examples.
Bottle
Bottle is a micro web application framework written in Python. It is used in this book to introduce web
application development.
Then try:
Vim
1 of 3 16/01/2023, 12:25
Configuring Ubuntu for Python Web Developme... https://www.openbookproject.net/books/bpp4aw...
Vim can be used very effectively for Python development, but Ubuntu only comes with the vim-tiny
package installed by default, so it doesn’t support color syntax highlighting or auto-indenting.
2. Create a file in your home directory named .vimrc that contains the following:
syntax enable
filetype indent on
set et
set sw=4
set smarttab
map <f3> :w\|!python3 % <cr>
map <f4> :w\|!python3 -m doctest -v % <cr>
map <f8> :w\|!pep8 % -v <cr>
When you edit a file with a .py extension, you should now have color systax highlighting and auto in-
denting. Pressing the <f3> key should run your program, and bring you back to the editor when the
program completes. <f4> runs the program with the verbose (-v) switch set, which will be helpful
when running doctests. <f8> will run the pep8 style checker against your program source, which is
useful in helping you learn to write Python programs with good styling.
To learn to use vim, run the following command at a unix command prompt:
$ vimtutor
$HOME environment
The following creates a useful environment in your home directory for using pip3 to install packages
into your home directory and for adding your own Python libraries and executable scripts:
1. From the command prompt in your home directory, create bin and lib subdirectories of your
.local directory by running the following command:
$ mkdir .local/lib/my_python
3. Add the following lines to the bottom of your .bashrc in your home directory:
EDITOR=vim
PATH=$HOME/.local/bin$PATH
PYTHONPATH=$HOME/.local/lib/my_python
This will set your prefered editor to Vim, add your own .local/bin directory as a place to put
executable scripts, and add .local/lib/my_python to your Python search path so modules
you put there will be found by Python.
Then run:
$ . .bashrc
to set these environment varialbles and prepend the .local/bin directory to your search path
(note: logging out and back in will accomplish the same result).
2 of 3 16/01/2023, 12:25
Configuring Ubuntu for Python Web Developme... https://www.openbookproject.net/books/bpp4aw...
Lumpy
Lumpy is python module that generates UML diagrams. It was written by Allen B. Downey as part of
his Swampy suite of Python programs written for use with his textbooks.
The version here is modified to work with Python 3 on Ubuntu 16.04. Click on lumpy.py to download
the module. Put this file in your .local/lib/my_python directory after your $HOME environment is
configured.
Lumpy is used in several of the exercises in this book to help illustrate python data structures.
#!/usr/bin/env python3
2. At the unix command prompt, type the following to make myscript.py executable:
$ chmod +x myscript.py
3. Move myscript.py into your .local/bin directory, and it will be runnable from anywhere.
3 of 3 16/01/2023, 12:25