2014-12-26 8 views
2

У меня проблемы с учебниками GAE. Чтобы начать работу с большинством базовых, мне пришлось переустановить pyyaml.ImportError с учебником по конечным точкам

Сейчас я получаю:

INFO  2014-12-26 15:06:11,200 module.py:718] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 - 
INFO  2014-12-26 15:06:11,203 module.py:718] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 60 
ERROR 2014-12-26 20:06:11,236 wsgi.py:263] 
Traceback (most recent call last): 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 85, in LoadObject 
    obj = __import__(path[0]) 
ImportError: No module named helloworld_api 

tutorial Я следовал к точке, несколько раз. Такая же ошибка каждый раз. Текущий itiration от меня пытается решить эту проблему, выглядит следующим образом:

app.yaml

application: *my id here* 
version: 1 
runtime: python27 
threadsafe: true 
api_version: 1 

handlers: 
# Endpoints handler 
- url: /_ah/spi/.* 
    script: helloworld_api.APPLICATION 

libraries: 
- name: pycrypto 
    version: latest 
- name: webapp2 
    version: "2.5.2" 
- name: endpoints 
    version: 1.0 

.py довольно долго, но его копия паста с шага 7 here

Doesn как я его запускаю, командной строки или App Engine Launcher, возникает такая же ошибка. Кажется странным, поскольку он явно запускается из Launcher fine, он его распознает. Ошибка при запуске сервера. Когда я попробовал базовый учебник, он работал отлично, что-то с конечными точками просто не нажимало на меня.

Я получаю пустой экран в API explorer.

структура Файл:

-project 
-django 
    -helloworld 
    app.yaml 
    helloworld_api.py 
    helloworld.py 

Я называю команду из каталога Джанго с dev_appserver.py helloworld из Google Cloud SDK Shell

+0

ум, отправляющий ваш helloword_api.py? – Patrice

+0

обновил его с помощью .py-части – rodling

+0

hmmm Я хотел бы сделать двойной выбор, если возникла проблема с фактическим py, сравнивая его с этим: p Я предполагаю, что вы делали это более одного раза. «APPLICATION = endpoints.api_server ([HelloWorldApi])» - это шаг, который может вызвать такую ​​ошибку, если вы пропустите ее. Конечно, он там? потому что если нет, все указывает на то, что ваша структура папок может быть сломана? ... lemme проверить, могу ли я получить ту же ошибку – Patrice

ответ

1

Если вы можете добавить содержимое helloworld_api.py на ваш вопрос, я мог смотреть через него и посмотрим, если это проблема, потому что иногда с Python вы должны быть точнее о структуре документа или не будете распознаваться как документ. Раньше у меня были проблемы с этим.

+0

Его скопировать копию с шага 7 из учебника, с которым я связан. Это довольно длинная штука, поэтому я ее не ввел. Все еще хочу, чтобы я включил ее? – rodling

+0

Я уже не уверен. –

1

Я просто скопировал содержимое app.yaml и helloworld_api.py с этой учебной страницы, и он отлично работает. Я бы предложил вам проверить, соответствует ли содержимое файлов учебной странице.

Кроме того, я вижу, что у вас есть файл helloworld.py в вашем каталоге. Я не вижу этот файл в учебнике. Что он содержит?

+0

То есть, это работает для всех, кроме меня, я хочу понять, почему это так. helloworld.py из основного учебника в GAE, и он отлично работает, автономный – rodling

+1

Я понял. Я пытался указать, что проблема явно не с кодом учебника. Это оставляет только возможность, что причина его не работает в вашей системе. Поэтому мы не можем помочь вам на основе текущей информации, которую вы нам дали. Если вы публикуете свои фактические файлы, мы можем попытаться использовать их, чтобы увидеть, можем ли мы воспроизвести. – erickCo

+0

Как вы хотите, чтобы я делился файлами? Я перечислил код и структуру – rodling

0

У меня также была такая же проблема, но я смог ее решить. Я думаю, вам нужно убедиться, что имя файла .py в файле app.yaml одинаково.

В моем случае я создал приложение в main.py. Поэтому убедитесь, что в app.yaml он указан как main.application. Он должен быть «основным», а не helloworld_api.APPLICATION. Также убедитесь, что случай для «приложения» соответствует.

Смежные вопросы