Jua*_*gas 8 python google-app-engine python-2.7
我正在尝试使用python"Hello world"
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello world!')
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)
Run Code Online (Sandbox Code Playgroud)
的app.yaml
application: engineapp
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: webapp2
version: "2.5.2"
Run Code Online (Sandbox Code Playgroud)
但是当在Google App Launcher中运行时会出现此错误
INFO 2013-05-22 12:22:40,302 admin_server.py:117] Starting admin server at: xxxxx:8000
HTTPError()
HTTPError()
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 1302, in communicate
req.respond()
File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 831, in respond
self.server.gateway(self).respond()
File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 2115, in respond
response = self.req.server.wsgi_app(self.env, self.start_response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\wsgi_server.py", line 246, in __call__
return app(environ, start_response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\request_rewriter.py", line 311, in _rewriter_middleware
response_body = iter(application(environ, wrapped_start_response))
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\python\request_handler.py", line 89, in __call__
self._flush_logs(response.get('logs', []))
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\python\request_handler.py", line 220, in _flush_logs
apiproxy_stub_map.MakeSyncCall('logservice', 'Flush', request, response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_stub_map.py", line 94, in MakeSyncCall
return stubmap.MakeSyncCall(service, call, request, response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_stub_map.py", line 320, in MakeSyncCall
rpc.CheckSuccess()
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_rpc.py", line 156, in _WaitImpl
self.request, self.response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\ext\remote_api\remote_api_stub.py", line 200, in MakeSyncCall
self._MakeRealSyncCall(service, call, request, response)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\ext\remote_api\remote_api_stub.py", line 226, in _MakeRealSyncCall
encoded_response = self._server.Send(self._path, encoded_request)
File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\appengine_rpc.py", line 393, in Send
f = self.opener.open(req)
File "C:\Python27\lib\urllib2.py", line 410, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 503: Service Unavailable
Run Code Online (Sandbox Code Playgroud)
我更改GAE Launcher(1.7.7)版本并重新安装python但不起作用
我正在使用Windows 7,python 2.7和EAG Launcher 1.8.0
小智 22
在使用代理服务器后面使用Google App Engine Launcher 1.8.6的代理服务器时,我的MacOSX遇到了同样的问题.显然"urllib2.py"上的"proxy_bypass"存在问题.
有两种可能的解决方案:
修改"[GAE Instalattion path] /google/appengine/tools/appengine_rpc.py"并查找说明的行
opener.add_handler(fancy_urllib.FancyProxyHandler())
在我的计算机中它是第578行,然后在行的开头放一个哈希(#),如下所示:
`#opener.add_handler(fancy_urllib.FancyProxyHandler())`
Run Code Online (Sandbox Code Playgroud)
保存文件,停止然后重新启动应用程序.现在dev_appserver.py根本不应该尝试使用任何代理服务器.
如果您的应用程序使用任何外部资源(如SOAP Web服务或类似的东西),并且您无法在没有代理服务器的情况下访问服务器,那么您将不得不降级.请记住,外部JavaScript文件(如facebook SDK或类似文件)是从您的浏览器加载的,而不是从您的应用程序加载的.
由于我没有使用任何外部REST或SOAP服务,它对我有用!
希望它也适合你.
小智 -2
您可能想尝试从命令行运行您的应用程序。跑步
dev_appserver.py --port=8080 myapp
Run Code Online (Sandbox Code Playgroud)
从应用程序的目录中将“myapp”替换为应用程序的名称。
更多信息可以在 GAE 文档中找到: https://developers.google.com/appengine/docs/python/tools/devserver#Running_the_Development_Web_Server
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |