我遇到了GAE教程的问题。为了开始最基本的工作,我不得不重新安装pyyaml。
现在我得到了:
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到点。每次都有相同的错误。 我试图解决这个问题的当前情况如下:
的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
无论我如何启动它,命令行或App Engine Launcher,都会发生同样的错误。它显然很奇怪,因为它明确地从Launcher发射,它认识到它。启动服务器时没有错误。当我尝试基础教程时,它工作得很好,有端点的东西只是没有点击我。
我在API资源管理器上看到一个空白屏幕。
文件结构是:
-project
-django
-helloworld
app.yaml
helloworld_api.py
helloworld.py
我使用来自Google Cloud SDK Shell的dev_appserver.py helloworld
来调用django目录中的命令
答案 0 :(得分:1)
如果您可以将helloworld_api.py
的内容添加到您的问题中,我可以查看它并查看是否存在问题,因为有时候,使用Python,您必须准确了解文档的结构,或者它不会被识别为文件。我之前遇到过这个问题。
答案 1 :(得分:1)
我刚从该教程页面复制了app.yaml和helloworld_api.py的内容,它完美无缺。我建议你检查文件的内容是否与教程页面相符。
另外,我看到你的目录中有一个helloworld.py文件。我在教程中没有看到这个文件。它包含什么?
答案 2 :(得分:0)
我也有同样的问题,但我能够解决它。我认为您需要确保.py文件的文件名在app.yaml中是相同的。
就我而言,我在main.py中创建了应用程序。因此,请确保在app.yaml中将其列为main.application。它需要是主要的"而不是helloworld_api.APPLICATION。同时确保" application"匹配。