當我嘗試谷歌雲終端集成到現有的項目中,我得到這個錯誤:如何將Python的Google雲端點與現有的GAE項目集成?
ImportError: No module named endpoints
我已經添加端點我的app.yaml文件。端點api文件在外部使用自己的app.yaml文件工作,但在從項目目錄中運行時出現錯誤。爲了簡單起見,我將所有API調用路由到「endpoints_api.py」。也許我錯過了一些東西。
這是我的目錄設置:
-project
-handlers
-media
-templates
-webapp2_extras
__init__.py
app.yaml
main.py
endpoints_api.py
這裏是我的app.yaml文件:
application: project-aplha
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
# Endpoints Api
- url: /_ah/spi/.*
script: endpoints_api.APPLICATION
- url: /favicon\.ico
static_files: media/favicon.ico
upload: media/favicon.ico
- url: /media
static_dir: media
# Main Script
- url: /.*
script: main.APPLICATION
libraries:
- name: endpoints
version: 1.0
- name: webapp2
version: latest
- name: jinja2
version: latest
- name: pycrypto
version: latest
和處理程序類的樣本(如果該事項):
class SignupHandler(base.BaseHandler):
def get(self):
return self.render_template('sighup.html')
def post(self):
name = self.request.get('name')
email = self.request.get('email')
password = self.request.get('password')
也許也是endpoints_api.py文件:
import endpoints
from google.appengine.ext import ndb
from protorpc import messages
from protorpc import message_types
from protorpc import remote
class Task(messages.Message):
name = messages.StringField(1, required=True)
owner = messages.StringField(2)
class TaskModel(ndb.Model):
name = ndb.StringProperty(required=True)
owner = ndb.StringProperty()
@endpoints.api(name='tasks', version='v1',
description='API for Task Management')
class TaskApi(remote.Service):
@endpoints.method(Task, Task,
name='task.insert',
path='task',
http_method='POST')
def insert_task(self, request):
TaskModel(name=request.name, owner=request.owner).put()
return request
APPLICATION = endpoints.api_server([TaskApi])
你沒有真正提供足夠的信息給人們做任何事情,而不是猜測。例如,您是否在app.yaml中啓用了端點,app.yaml中的處理程序是什麼樣的...... –
上述上下文指出已將端點添加到app.yaml文件中。我將所有「/ _ah/api/explorer」鏈接路由爲使用endpoints_api.py而不是main.py.添加app.yaml和 – Orane
以上的處理程序示例爲什麼您的應用程序是上層? –