Невозможно запустить простой helloworld в gae (python 2.7)

Я пытаюсь запустить официальную программу helloworld в google-appengine 1.6.4 для python 2.7.

Это так расстраивает, что не может запускать простой helloworld. Я был бы признателен за любую помощь здесь.

Ошибка, с которой я сталкиваюсь: –

shadyabhi@MBP-archlinux ~/codes/gae $ dev_appserver.py helloworld/ INFO 2012-04-06 23:25:55,030 appengine_rpc.py:160] Server: appengine.google.com INFO 2012-04-06 23:25:55,034 appcfg.py:582] Checking for updates to the SDK. INFO 2012-04-06 23:25:56,709 appcfg.py:616] This SDK release is newer than the advertised release. WARNING 2012-04-06 23:25:56,710 datastore_file_stub.py:513] Could not read datastore data from /tmp/dev_appserver.datastore INFO 2012-04-06 23:25:56,773 dev_appserver_multiprocess.py:647] Running application dev~helloworld on port 8080: http://localhost:8080 INFO 2012-04-06 23:25:56,774 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin WARNING 2012-04-06 23:26:00,928 py_zipimport.py:139] Can't open zipfile /usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info: IOError: [Errno 13] file not accessible: '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info' ERROR 2012-04-06 23:26:01,101 wsgi.py:189] Traceback (most recent call last): File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler raise ImportError('%s has no attribute %s' % (handler, name)) ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app INFO 2012-04-06 23:26:01,110 dev_appserver.py:2884] "GET / HTTP/1.1" 500 - ERROR 2012-04-06 23:26:01,479 wsgi.py:189] Traceback (most recent call last): File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler raise ImportError('%s has no attribute %s' % (handler, name)) ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app INFO 2012-04-06 23:26:01,486 dev_appserver.py:2884] "GET /favicon.ico HTTP/1.1" 500 - 

7 Solutions collect form web for “Невозможно запустить простой helloworld в gae (python 2.7)”

Одна разница между файлами, которые у вас есть на github и официальным учебным пособием google hellworld, заключается в том, что ваш файл helloworld, похоже, не называется helloworld.py. Потенциально это помогло бы?

Кроме того, вам нужна переменная PROJECT_DIR в верхней части helloworld?

Если вы пытаетесь заставить основной учебник работать, первое, что вам нужно сделать, это убедиться, что ваш проект буквально точно такой же, как в примере Google.

Если вы используете библиотеки python2.7, в учебнике есть ошибка

Эта строка неверна:

 application = webapp2.WSGIApplication([('/', MainPage)], debug=True) 

Правильная строка должна быть:

 app = webapp2.WSGIApplication([('/', MainPage)], debug=True) 

Обработчик WSGI жалуется, потому что ищет атрибут под названием «приложение».

проверяя ваш git repo, я вижу, что helloworld не является .py-файлом.
переименуйте его на helloworld.py, и вам должно быть хорошо идти.

Этот кусок кода сделал трюк для меня (уведомление «приложение» заменено на «приложение»):

 app = webapp.WSGIApplication( [('/', MainHandler), ('/upload', UploadHandler), ('/serve/([^/]+)?', ServeHandler), ], debug=True) if __name__ == '__main__': run_wsgi_app(app) 

Я получил ошибку 500 после того, как скопировал код прямо с сайта Google. Ничего из этого не произошло.

Все, что мне нужно было сделать, это изменить отступ для каждой строки кода (т. Е. Изменить пробелы на вкладки) и бинго.

Это сработало для меня.

При использовании runtime python 2.7 вам не нужно использовать основную функцию

Удали это

 if __name__ == '__main__': run_wsgi_app(app) 

и просто позвоните

 app = webapp.WSGIApplication( [('/', MainHandler), ('/upload', UploadHandler), ('/serve/([^/]+)?', ServeHandler),], debug=True) 

Я работал над официальным приветственным учебником мира в python 2.7 и обнаружил ту же ошибку в файле конфигурации app.yaml. Последняя строка читает

скрипт: helloworld.application

должен быть

скрипт: helloworld.app

  • Кэширование (поддельного) статического содержимого, которое фактически является динамическим для GAE для Python
  • Простой пример управления пользователями для Google App Engine?
  • Ошибка загрузки Python Код JSON API google
  • Как служба разминки работает в движке Google для python?
  • i * должен * хранить учетные данные сторонних производителей в моей базе данных. лучший способ?
  • Использование Google Cloud Datastore с API NDB?
  • GCM получает недопустимые токены при отправке на несколько устройств одновременно
  • Django 1.7 в App Engine "ImportError: нет модуля с именем msvcrt"
  • Python - лучший язык программирования в мире.