Virtualenv __future__ module works on command line, but not while running dev_appserver.py
Question: I'm running into a strange error when running App Engine from within my
**virtualenv**. Here is the error:

    
    
    File "/home/matthew/dev/sdks/google_appengine_1.5.2/google/appengine/tools/dev_appserver.py", line 2318, in LoadModuleRestricted description)
    File "/home/matthew/dev/projects/webapp2/project/src/webapp2.py", line 11, in <module>
      from __future__ import with_statement
    ImportError: No module named __future__
    

  * If I run python in my virtualenv and type `import __future__`, it imports. 
  * If I deactivate my virtualenv and run **dev_appserver.py** , the app works. 
  * But if my virtualenv is active AND I run dev_appserver.py (even though #1 is true), the app does not work and I get the error above.

Why would `__future__` be available while running the Python interpreter, but
not dev_appserver.py?


Answer: This is [bug
4339](http://code.google.com/p/googleappengine/issues/detail?id=4339). Make
sure you use the SDK version 1.6.0, then do:

    
    
    $ cd /usr/local/google_appengine/google/appengine/tools
    $ wget "http://googleappengine.googlecode.com/issues/attachment?aid=43390029000&name=dev_appserver_import_hook.patch&token=974d9f138a5604dc7eb0526156b26cc7" -O dev_appserver.patch
    $ patch -p1 < dev_appserver.patch
    

