Overview
有点难以推理出什么exactly你的系统上正在发生这种情况,但我可以告诉你我的系统上发生了什么。我们可以整天猜测可能出了什么问题,但是实施一些可行的方法并逆向工作通常比猜测更有成效;它可以是任何东西。
如果我猜的话,我会说问题是:
- 处理程序顺序不正确
- 搞砸了 python 路径
- 搞砸了 python 版本
- 使用蹩脚的旧 SDK
- 内裤侏儒
如果您实现了我在下面概述的项目,而不是猜测,那么向后推理并找出它不适合您的原因应该非常简单。如果这个项目不起作用,你就需要做一些工作。这个问题真的很糟糕(我不想帮你解决它)。如果它确实有效,那么您很幸运,因为您只需 5 或 10 分钟即可让其余代码也正常工作!
使用最新的 python appengine SDKhttp://code.google.com/p/googleappengine/downloads/list http://code.google.com/p/googleappengine/downloads/list:
google_appengine_1.8.0.zip
71b5f3ee06dce0a7d6af32d65ae27272eac038cb
项目文件及其内容:
目录设置:
.
├── app.py
├── app.pyc
├── app.yaml
└── static
└── hi.txt
app.py:
import webapp2
import os
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!\n\n')
path = os.path.join(os.path.split(__file__)[0], 'static/hi.txt')
self.response.out.write(open(path).readlines()[0])
application = webapp2.WSGIApplication([('/.*', MainPage)])
app.pyc 是该文件的(自动)编译版本。
应用程序.yaml:
application: myapp
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /static
static_dir: static
application_readable: true
- url: /.*
script: app.application
静态/hi.txt:
Ezra can see this text fine; I'm not sure why you can't... Hi!
会发生什么:
从项目根目录启动网络服务器:
dev_appserver.py --port 80 .
您可能必须使用不同的端口号;没什么大不了的。只需根据您选择的内容调整以下说明即可。
参观http://localhost/
在浏览器中:
HTTP 响应:
INFO 2013-05-14 09:45:57,372 server.py:585] default: "GET / HTTP/1.1" 200 85
浏览器输出:
你好,webapp世界!
以斯拉可以清楚地看到这段文字;我不知道为什么你不能...嗨!
参观http://localhost/static/hi.txt
在浏览器中:
HTTP 响应:
INFO 2013-05-14 09:48:42,785 server.py:585] default: "GET /static/hi.txt HTTP/1.1" 200 63
浏览器输出:
以斯拉可以清楚地看到这段文字;我不知道为什么你不能...嗨!
打破它:
如果我删除application_readable: true
app.yaml 中的行:
参观http://localhost/
在浏览器中:
HTTP 响应:
ERROR 2013-05-14 09:51:13,290 webapp2.py:1528] [Errno 13] file not accessible: '.../static/hi.txt'
浏览器输出:
500内部服务器错误
服务器出错或无法执行请求的操作。
接下来做什么:
希望你能从这个例子开始倒推。如果它对你不起作用,你就注定失败。享受度过一个阳光明媚的五月中旬下午,在小路上搜寻并尝试(重新/卸载)安装东西以使这该死的事情继续下去。顶部的列表是我尝试的列表,不知道任何细节并排除了编程错误。祝你好运!