google-app-engine - 获取错误 "name ' execfile' 未定义”

标签 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

最佳答案

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

关于google-app-engine - 获取错误 "name ' execfile' 未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619557/

相关文章:

http - 如何避免遇到最大打开文件限制

Golang 无法从 request.GetBody() 获取正文

带有 for 循环的 golang channel 行为

java - Appengine 延迟任务限制为 60 秒

python - 谷歌应用引擎如何正确部署应用程序

go - 在Go中分离多个文件和包中的组件

go - 嵌套结构中的访问字段

google-app-engine - 在 App Engine 中使用实体组的良好开源示例?

python - 在 Google Glass Python 快速入门中的何处放置代码

google-app-engine - 添加到 google-appengine 中的集合