【发布时间】:2018-04-15 16:47:37
【问题描述】:
根据getting started 文档和built-in third-party libraries。您应该能够使用 app.yaml 中的库将烧瓶添加到您的项目中。
虽然 Flask 被捆绑到运行时中,并且可以通过添加 app.yaml 文件的 libraries: 指令来简单地使用,但本教程会将库的副本放在应用程序的目录中,这将演示如何包含未捆绑的第三方库,以便您的应用可以使用它。
app.yaml
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: main.app
libraries:
- name: flask
version: "latest"
main.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
但是,我不断得到:
ImportError: 没有名为 flask 的模块
有没有人能够让它工作?有什么我想念的吗?我正在使用 Cloud SDK 在 Linux 上进行本地开发。
【问题讨论】:
-
FWIW,你的例子对我来说很好 - linux GAE SDK 1.9.61。请注意:您的 app.yaml 文件的缩进未显示 OK - 我将编辑您的帖子以更正该问题 - 检查文件中的实际缩进是否正常,因为它可能有与错误有关。
-
该网站使 GAE SDK 似乎更适合需要“appcfg”命令的人。如果我必须使用它会破坏我的目的,我也可以使用不适用于内置库的第三方方法,但这两种方法都不理想。我想使用推荐的软件和文档指出应该可以工作的内置库。
-
这值得商榷 - 我仍然对它比使用云 SDK 更满意。不管怎样——理论上,云 SDK 在各自的语言组件中封装了与单个 GAE SDK 相同的核心——它们甚至使用相同的版本#s)。但是,是的,偶尔会有功能上的差异,可以通过在 SDK 之间切换来解决——这就是为什么我都安装了 :) 较旧,但在某些方面仍然适用:stackoverflow.com/questions/33769879/…
-
听起来你已经安装了Cloud SDK,如果你运行
gcloud components install app-engine-python,模块未找到错误会消失吗? (假设您没有映射本地 lib 文件夹) -
sudo apt-get install google-cloud-sdk-app-engine-python 产生 sudo apt-get install google-cloud-sdk-app-engine-python
标签: python google-app-engine flask google-app-engine-python app.yaml