From DreamHost
Jump to: navigation, search
DreamHost does not directly support any of the features described on this page and is not responsible for keeping this content updated or accurate. Use at your own risk!
There may be additional information on the talk page.

Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. And before you ask: It's BSD licensed! Flask runs on Dreamhost via Passenger WSGI.


  1. Set up an environment using virtualenv
    • virtualenv-1.5.2/virtualenv.py --no-site-packages --distribute $HOME/flask_env
  2. Activate it and install Flask
    • cd flask_env
    • source bin/activate
    • easy_install pip
    • pip install Flask
  3. Use the Dreamhost Control Panel to create a Passenger WSGI domain inside of your virtualenv
    • Web directory: /home/username/flask_env/public
    • Passenger (Ruby/Python apps only): Yes!
  4. Put your Flask site inside of the virtualenv, but not inside of the public dir
    • cd $HOME/flask_env
    • mkdir mysite
  5. Put a passenger_wsgi.py file inside of the virtualenv.

Example passenger_wsgi.py

import sys, os
INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python')
if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)
from mysite import app as application

# Uncomment next two lines to enable debugging
# from werkzeug.debug import DebuggedApplication
# application = DebuggedApplication(application, evalex=True)

Refresh After Changes

To force a refresh of your site after making changes, touch restart.txt:

  • cd $HOME/flask_env
  • mkdir tmp
  • touch tmp/restart.txt