2016-08-22 15 views
0

У меня есть приложение Pyramid, которое я запускаю на GAE. Он отлично работает большую часть времени, но иногда, когда я развертываю (appcfg.py update ...) вещи просто ломаются. Когда я пытаюсь получить доступ к приложению, я начинаю получать 500 долларов. Тогда, если я не буду вносить никаких изменений в свой код и развернуть его снова, он будет работать. Я хочу, чтобы развертывание работало каждый раз.gae intermittent import error (SignedSerializer)

Вот отслеживающий:

Traceback (most recent call last): 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject 
    obj = __import__(path[0]) 
    File "/base/data/home/apps/s~projectwaxed/1.395098752063981059/waxed_backend/__init__.py", line 11, in <module> 
    from pyramid.config import Configurator 
    File "libs/pyramid/config/__init__.py", line 73, in <module> 
    from pyramid.config.routes import RoutesConfiguratorMixin 
    File "libs/pyramid/config/routes.py", line 21, in <module> 
    import pyramid.config.predicates 
    File "libs/pyramid/config/predicates.py", line 15, in <module> 
    from pyramid.session import check_csrf_token 
    File "libs/pyramid/session.py", line 11, in <module> 
    from webob.cookies import SignedSerializer 
ImportError: cannot import name SignedSerializer 

Кто-нибудь сталкивался с этим? Есть ли известное исправление?

+0

Несколько вопросов? вы установили webob с пирамидой или используете встроенный webob сторонней стороны. Если вы его установили, ознакомьтесь с различными путями, которые может предпринять ваш запуск. Является ли эта ошибка запросом на разминку или запросом на передний план, который запускает экземпляр. Возможно, конфликтуют две разные версии веб-браузера. Я нахожу, что требования пирамиды (пауза) webob и webob в appengine были разными, и это вызвало у меня проблемы. –

+1

Связанный с appengine webob «1.1.1» или «1.2.3», а ветвь 1.1.1 даже не имеет SignedSerializer. –

+0

Оба варианта 1.1.1 и 1.2.3 являются неуместными для версии используемой мной пирамиды. Но я исправил это ... Спасибо @TimHoffman – Sheena

ответ

0

Проблема заключалась в том, что я нажимал webob 1.6.1 для приложения при развертывании моего приложения. В то же время у меня было это в моем app.yaml:

libraries: 
- name: webob 
version: latest 

Что в конечном итоге работает только удаление WebOb из app.yaml (я пробовал разные варианты, поддерживаемые GAE, но не кости ...)