Python 2.7.2 和 Google App Engine SDK 1.6.1 在 Win 7 Home Premium 不工作
我在一台运行Windows 7 Home Premium的64位系统上安装了Python 2.7.2(32位)和Google App Engine SDK 1.6.1。Python和GAE的默认安装位置都没有改变。当我尝试按照Google Python入门文档中的说明运行helloworld项目时,启动器的“浏览”按钮始终无法激活。GAE SDK应该是可以与Python 2.7正常配合使用的。
请问有没有一个完整的环境变量列表,能让这个设置正常工作?到目前为止,我看到的所有帖子都是一些用户已经顺利通过了这个非常基础的步骤。
8 个回答
我把helloworld的例子和留言本的演示做了对比,发现应用程序的元素非常重要。我在app.yaml文件的顶部加了一行“application: helloworld”,然后helloworld的例子就在Google App Engine(GAE)上开始正常工作了。需要注意的是,'application'这个元素在app.yaml的参考文档中说是可选的。看起来如果你使用命令行的话,它确实是可选的,但如果你使用GAE的话,它就不是可选的了。
我之前也遇到过同样的问题,浏览按钮是禁用的。我在命令提示符下运行了 dev_appserver.py helloworld 这个命令,然后在浏览器里打开 localhost:8080,结果“你好,世界”这个程序成功运行了。
关于用Python 2.7设置Google App Engine(GAE)的文档有些问题。如果你通过图形界面的App Engine启动基本的“你好,世界”应用,按照说明操作后,可能会看到红色的错误提示,所有按钮都变成灰色了?
如果是这样,那是因为你的helloworld.py程序里有错误——这就是Google说明的不足之处。
他们在说明中提到的导入语句:
import webapp2
这个导入语句是错误的,它需要指向GAE本地的webapp实例。而且,他们的Python 2.7程序是不完整的。如果你查看Python 2.5的例子,你会看到完整的程序(你可能需要把webapp改成webapp2以适应Python 2.7):
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
最后一点,Google说明中的YAML文件提到“helloworld.app”——我不能确认这一点,但我觉得应该是“helloworld.py”??我不太确定,可能我错了。
自从你提问以来已经过去几个月了,如果你发现了什么新情况,请随时更新这个问题。