Question

I'm trying to set up a Web.py (0.37) project in a virtualenv to run on Google App Engine (1.7.2) but I'm getting a ImportError: No module named web from the appserver.

I've installed web.py using python setup.py install from inside my virtualenv and can confirm that it's installed properly because I can import it from the python interpreter.

My actual GAE folder is outside the virtualenv but linked like so:

ln -s ~/Development/google_appengine $VIRTUAL_ENV/google_appengine

and added to my python path in $VIRTUAL_ENV/lib/python2.7/site-packages/gae.pth

There must be an extra step I'm missing, heres the error message:

    ERROR    2012-10-03 09:03:17,442 wsgi.py:203] 
Traceback (most recent call last):
  File "/home/sett/Development/google_appengine/google/appengine/runtime/wsgi.py", line 195, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/home/sett/Development/google_appengine/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
    handler = __import__(path[0])
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 719, in Decorate
    return func(self, *args, **kwargs)
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1923, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 719, in Decorate
    return func(self, *args, **kwargs)
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1787, in FindAndLoadModule
    description)
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 719, in Decorate
    return func(self, *args, **kwargs)
  File "/home/sett/Development/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1730, in LoadModuleRestricted
    description)
  File "/home/sett/wip/rigmarolesoup/main.py", line 1, in <module>
    import web
ImportError: No module named web
Was it helpful?

Solution

App engine won't let you import 3rd party modules from site-packages; you must copy web.py into your app directory.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top