2

Я использую pycharm для разработки appengine. Теперь я пытаюсь использовать конечные точки, и я поставилКонечные точки GAE импорта «Нет модулей с именами конечных точек»

libraries: 
- name: pycrypto 
    version: latest 
- name: endpoints 
    version: 1.0 

, а затем в main.py

import endpoints 

Но это дает мне ошибку

No module named endpoints 

Я могу видеть конечные точки в библиотеке GAE. Кто-нибудь может помочь?

* EDIT: это только вопрос IDE (pycharm) can not find endpoints. Приложение работает нормально и хорошо как в dev-сервере, так и в облачном сервере. Существует картина просто, чтобы сделать его немного яснее:

Pycharm cant find endpoints reference

Благодаря

+0

вы используете управляемые виртуальные машины? – saiyr

+0

Я думаю, что я просто использую обычный, а не управляемый VM. – andiwin

+0

Если вы можете отредактировать свой вопрос с полной ошибкой, независимо от того, нарушена ли она на сервере dev или когда вы развертываете, это может быть полезно. Если вы считаете, что это ошибка, вы должны [указать проблему] (https://code.google.com/p/googleappengine/issues/list?can=2&q=Component=Endpoints&sort=-modified+-id&colspec=ID%20Type % 20Component% 20Status% 20Stars% 20Summary% 20Language% 20Priority% 20Owner% 20log% 20Modified). Если вы используете управляемые виртуальные машины (vm: true в app.yaml), то конечные точки не поддерживаются на управляемых виртуальных машинах. – saiyr

ответ

2

Вам нужно добавить {GAE_SDK}/lib/endpoints-1.0, а не только сам SDK. Причина, по которой вы можете импортировать google, заключается в том, что она находится под {GAE_SDK}. Библиотеки, указанные вами в app.yaml, выложены по-разному из-за поддержки нескольких версий. Я считаю, что вам также нужно добавить {GAE_SDK}/lib/protorpc-1.0/, это просто не отображается, потому что уже есть ошибка импорта.

+0

Это исправляет! Большое спасибо, но что касается protorpc, мне не нужно добавлять '{GAE_SDK}/lib/protorpc-1.0 /', чтобы он работал – andiwin

+0

. Также существует проблема с пакетом 'google', существующим в системе Python' сайт-packages'. Взлом, связанный с добавлением местоположения «google» SDK к импортированному «встроенному» модулю '__path__'' google', делает пакеты под 'google' доступными как' google. '. Ясно, как грязь! –

+0

Вот заклинание, которое делает эту магию. Обязательно скажите мне, понимаете ли вы это: 'google .__ path __. Append (" {0}/google ".format (sdk_path))' –

0

Я использую новую версию сообщества PyCharm, и я тоже получил конфигурацию. Вы должны установить опцию Source в каждой папке, как конечные точки в файл - Настройка - Проект:

See my image

0

Я перебежать следующий код где-нибудь, который фиксирует это для меня в сценарии клиента. Я не могу сказать, сколько из этого может быть ненужным. Вы должны были бы изменить google_appengine путь для установки SDK:

sdk_path = os.path.expanduser('~/work/google-cloud-sdk/platform/google_appengine') 

try: 
    import google 
    google.__path__.append("{0}/google".format(sdk_path)) 
except ImportError: 
    pass 

try: 
    import protorpc 
    protorpc.__path__.append("{0}/lib/protorpc-1.0/protorpc".format(sdk_path)) 
except ImportError: 
    pass 

sys.path.append("{0}/lib/endpoints-1.0".format(sdk_path)) 
Смежные вопросы