Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save franyerverjel/069c64b500eaaa9bd4be08e13ceb084f to your computer and use it in GitHub Desktop.
Save franyerverjel/069c64b500eaaa9bd4be08e13ceb084f to your computer and use it in GitHub Desktop.
Python 3 upgrade script for the Django image on DigitalOcean
#!/bin/bash
#
# Copyright 2015 James Cheese
# You may do anything with this work that copyright law would normally
# restrict, so long as you retain the above notice(s) and this license
# in all redistributed copies and derived works. There is no warranty.
#
# Python 3 Upgrade for Django Droplet
# Will update the "Django on 14.04" Digital Ocean image.
# Run as root.
# Grab psycopg2 and pip
apt-get install python3-pip python3-psycopg2
# Remove the Python 2.7 version of gunicorn, so we can...
pip uninstall gunicorn
# Install the Python 3 version of gunicorn, and a couple of dependencies.
pip3 install gunicorn tornado django
# Sadly, at time of writing, gevent isn't Python 3 compatible... But tornado is!
# So, switch them out with a little sed magic
sed 's/worker_class = '\''gevent'\''/worker_class='\''tornado'\''/' /etc/gunicorn.d/gunicorn.py -i.orig
# Restart gunicorn to make the changes take effect...
service gunicorn restart
# And we're good!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment