GAE ne peut pas importer le module Web.py dans virtualenv
-
13-12-2019 - |
Question
J'essaie de configurer un projet Web.py (0.37) dans un virtualenv pour l'exécuter sur Google App Engine (1.7.2) mais j'obtiens un ImportError: No module named web
depuis le serveur d'applications.
J'ai installé web.py en utilisant python setup.py install
depuis mon virtualenv et je peux confirmer qu'il est correctement installé car je peux l'importer depuis l'interpréteur python.
Mon dossier GAE actuel se trouve en dehors de virtualenv mais est lié comme ceci :
ln -s ~/Development/google_appengine $VIRTUAL_ENV/google_appengine
et ajouté à mon chemin python dans $VIRTUAL_ENV/lib/python2.7/site-packages/gae.pth
Il doit y avoir une étape supplémentaire qui me manque, voici le message d'erreur :
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
La solution
Le moteur d'application ne vous permettra pas d'importer des modules tiers à partir de packages de site ;vous devez copier web.py dans le répertoire de votre application.