谷歌应用引擎标准dev_appserver.py给出导入错误

时间:2017-12-13 08:24:54

标签: python google-app-engine flask google-cloud-platform werkzeug

我正在尝试在此Google App Engine Standard Flask Sample

上运行dev_appserver.py

正如指示说我跑:

pip install -t lib -r requirements.txt
dev_appserver.py app.yaml

我应该可以转到http://localhost:8080/form,但我得到ImportError: No module named msvcrt

我发现使用Flask==0.10.1Werkzeug==0.12.2有效,但没有更新。

版本:

OS: Windows 10 Pro

Python 2.7.14

Google Cloud SDK 182.0.0
app-engine-go
app-engine-python 1.9.63
app-engine-python-extras 1.9.63
bq 2.0.27
core 2017.12.01
gsutil 4.28

1 个答案:

答案 0 :(得分:0)

我自己从Cloud Shell尝试了这个例子,我也发现了一些导入问题。看起来Werkzeug的新版本已经将代码转移到不同的位置,所以如果您想要使用该示例,建议in this recent post,您应该更好地使用Werkzeug的0.12.2版本。

为此,我建议您执行以下步骤:

  1. 删除应用程序目录中的lib文件及其所有内容。
  2. 编辑requirements.txt文件如下:
  3. <强> requirements.txt:

    Flask==0.12.2
    werkzeug==0.12.2
    
    1. 再次运行命令pip install -t lib -r requirements.txt
    2. 现在,您可以尝试使用dev_appserver在本地运行应用程序。请确保appengine_config.py文件指向正在安装库的lib文件夹的正确位置。

      一旦你完成了所有这些,一切都应该正常。我尝试浏览您提到的localhost URL,然后会出现一个带有表单的简单HTML页面。