【问题标题】:google app engine python flask built-in librarygoogle app engine python flask内置库
【发布时间】: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"

ma​​in.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


【解决方案1】:

您还必须安装在项目根目录的lib 文件夹中:

pip install flask -t lib/

我向你保证这会奏效

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 2017-02-24
    • 2020-05-07
    • 2011-10-10
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2015-11-06
    相关资源
    最近更新 更多