得到错误" name' execfile'没有定义"

时间:2016-02-25 06:02:34

标签: google-app-engine go

enter image description here

我已经按照https://cloud.google.com/appengine/docs/go/#creating_a_simple_http_handler关于如何开始使用Go的所有步骤进行了操作,但在尝试运行helloworld应用时,我遇到了一个问题。

我收到以下错误:

C:\Users\kirill\Desktop\go_appengine>goapp serve myapp

Traceback (most recent call last):
  File "C:\Users\kirill\Desktop\go_appengine\\dev_appserver.py", line 83, in <module>
    _run_file(__file__, globals())
  File "C:\Users\kirill\Desktop\go_appengine\\dev_appserver.py", line 79, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
NameError: name 'execfile' is not defined
error while running dev_appserver.py: exit status 1

1 个答案:

答案 0 :(得分:3)

Go AppEngine SDK需要Python 2.7(不能使用Python 3.x)。在我看来你的SDK使用的是Python 3.X,或者根本没有Python(在PATH中)。

首先确保将Python 2.7添加到PATH中,以便goapp使用。你可以在这里得到它:Python 2.7.11。对于Go AppEngine SDK,一个小巧的可移植Python也足够了,您可以从这里获取它:Single-File Stand-alone Python 2.7.9 for Windows。下载pyexe-2.7.9.10.zip并解压缩。它只是一个10 MB的单个文件,将其重命名为python.exe并将其添加到PATH

另外,在我看来你是从错误的文件夹开始你的Hello world应用程序:你站在SDK的文件夹中,你想要启动它指定你的应用程序在myapp子文件夹中在SDK中,这不太可能。

导航到您应用所在的文件夹(app.yaml必须在那里)。在该文件夹中执行命令

goapp serve

这将启动应用程序位于当前文件夹中。要实现此目的,必须将goapp命令(Windows上的goapp.bat)添加到PATH

如果您不能或不想将go_appengine文件夹添加到PATH,仍然会导航到包含您要启动的应用的文件夹,但提供goapp的路径,例如

C:\Users\kirill\Desktop\go_appengine\goapp serve