Win 7 Home Premium无法运行Python 2.7.2和Google App Engine SDK 1.6.1

我已经在运行Win7 Home Premium的64位系统上安装了Python 2.7.2(Win7 32位)和Google App Engine SDK 1.6.1 for Win7。 Python和GAE的默认文件夹位置。 当我尝试按照Google Python入门文档中所述运行helloworld项目时,启动器的“浏览”button从不会变为活动状态。 GAE SDK应该和Python 2.7一起使用。

有没有一个完整的清单所需的任何环境variables的设置工作? 到目前为止,我所看到的所有post都来自那些通过这个绝对基本步骤的用户。

用Python 2.7设置GAE的Google文档有一些问题。 如果您尝试通过GUI App Engine界面启动基本的“hello world”应用程序,请按照说明操作,您可能会看到红色文本,并且所有按钮都变灰了。

如果是这样,那是因为你的helloworld.py程序中有错误 – 这是Google指令失败的地方。

他们在说明中的进口声明:

 import webapp2 

这失败了,它需要指向GAE的web应用程序的本地实例。 另外,他们的Python 2.7程序是不完整的。 如果你看看Python 2.5的例子,你会看到完整的程序(你可能需要修改webapp – > webapp2 for 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”? 我不知道,我可能是错的。

自从你发布这个问题以来,几个月过去了,如果你发现任何细节,请随时更新这个问题。

我面临同样的问题,浏览按钮被禁用。 我在命令提示符下运行dev_appserver.py helloworld命令,然后在浏览器中打开localhost:8080,hello world程序成功运行。

我将helloworld示例与留言板演示进行了比较,发现应用程序元素是关键。 我在app.yaml文件“application:helloworld”的顶部添加了该行,并开始在Google App Engine(GAE)中使用helloworld示例。 请注意,'application'元素应该是app.yaml引用中定义的可选元素。 如果您使用命令行,它看起来是可选的,如果您使用GAE,则它不是可选的。

你在GAE SDK日志中看到什么吗?

你使用哪个浏览器? 什么是您的默认浏览器?

IE中的默认安全设置要求您启用内部网访问。

我最近不得不重建我的Win7开发盒。 Chrome是我的默认浏览器。 当我安装GAE SDK v1.6.1时,我遇到了类似的问题。

我检查了日志,并用浏览器配置弄乱了它来解决它。

我的回忆是,一旦我再次使IE 9的默认浏览器,我看到了内部网安全错误。 启用对localhost:8080等内部网站的访问后,事情开始正常,但启动有时很慢。 然后,我再次将Chrome作为默认浏览器,启动速度变得更快,更可靠。

我确定这是因为你已经将编码从ANSI更改为app.yaml上的另一种类型(比如UTF-8)

将其更改回ANSI,然后您可以在Google应用程序引擎启动器上运行该项目。

顺便说一句,关于谷歌的helloworld教程没有问题。

我有一个类似的问题; 原来我的问题不是由于环境变量。

调试GAE:

首先让我说,如果您遇到GAE问题,我强烈建议使用CLI google_appengine/dev_appserver.py 。 有一大堆GAE失败的原因(而不是GAE Launcher GUI中的简单红色链接),这将会指向正确的方向。

隐藏的坏字符:

当从谷歌的“hello world”教程复制文本时,在我的YAML文件(我使用diff工具kdiff找到它)的开始处有一个看不见的隐藏字符。 删除这个字符后,我的应用程序启动(并在GAE启动器GUI中显示为不红色)。

环境变量:

至于你原来的问题,我设置的唯一相关的环境变量是我的PATH变量,其中我已经追加了我的Python可执行文件(在我的情况下是C:\ Python27)的文件夹,以便我可以运行python文件,而无需指定完整的路径到Python。 但是,让我重复一下,我不相信这是您的问题的原因,但是您可以使用CLI更直接地确认这一点。

像上面的pghprogrammer4 ,我解决了这个问题,通过删除我的文件中的坏字符。 他们在我的常规文本编辑器(崇高的文本2)中是不可见的,但我发现他们与该编辑器的十六进制编辑器。 我知道要查找什么,因为我在留言簿应用程序的开始处注意到了一些空间(有几个教程)。 所以我看着Chrome中的调试,它显示了字符零宽度空间 。 Unicode网站有这个字符的十六进制值,所以我搜索了(不需要搜索远;这是文件的前三个字节),并将其删除。 谢天谢地Sublime Text 2有一个十六进制模式,但是你可以使用任何十六进制编辑器来查找和删除坏字符。

我确定这是由于Google教程网站的复制和粘贴方法非常特殊。 这在Hello World例子中并没有发生,因为我手工输入了这个。 然后它出现在我的一个文件中,导致CSS不加载。 之后,Google App Engine启动器将我的项目视为丢失文件(在启动器中呈红色)。 我恢复了一个工作版本(只需在文本编辑器中撤消),并将每组新的命令复制到教程中的文件中,希望能够抓住正在做我的脚本。 但是当我到了最后的时候,这一切都奏效了。 我倾向于在从Google App Engine教程网站复制并粘贴整个文本框并将其插入其中一个文件时引入此错误。 我怀疑ZWSP字符是作为代码框中的第一个字符存在的,但是已经很晚了,现在我不打算进一步研究。

我想你应该只是输入教程 – 这可能是一个更好的学习方式。

我在一起做了两个改变 – 1.在app.yaml文件“application:helloworld”的顶部添加了行2.将app.yaml“script:helloworld.app”的最后一行改为“script:helloworld.py”

我的GAE开始工作。 然而,为了解决这个问题,我“解开了”这两个变化,事实证明,第二个变化 – 改变helloworld.app到helloworld.py做了魔术