upload.py has some dependencies that must be installed in a specific order.  INSTALL.txt explains what to do.
Modified to run on linux box
Edited to run on linux box