GAE Python Gcloud - 命令 运行 在生产中

GAE Python Gcloud - Command to run in production

我正在尝试使用 gcloud 将我的 python 应用程序部署到生产环境,但每次都会弹出这条奇怪的消息,我没有找到任何关于此谷歌搜索的信息...

当我运行:

gcloud preview app deploy

此消息出现:

This looks like a Python app.  If so, please enter the command to run 
to run the app in production (enter nothing if it's not a python app):

我尝试使用 appcfg.py:

执行常规命令
❯ appcfg.py -A <appname> update app.yaml

但是每次都会超时。

有人知道我在这种情况下应该怎么做吗?

谢谢!

编辑

我的App.yaml

runtime: python
api_version: 1
threadsafe: yes
vm: true

handlers:

- url: .*
  script: main.app

- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.deferred.application
  login: admin

  #libraries:
  #- name: MySQLdb
  #version: "latest"

builtins:
- remote_api: on
- deferred: on

resources:
  cpu: .5
  memory_gb: 2.3
  disk_size_gb: 10

编辑 2

我已将 运行time 更改为自定义时间,现在它不再询问任何内容。现在的问题是它抛出超时:

(gcloud.preview.app.deploy) Error Response: [13] Timed out when starting VMs.  It's possible that the application code is unhealthy.  (0/2 ready, 2 still deploying)

我找到了有关此错误的信息,如果我解决了这个问题,我会返回这里。

谢谢

我有同样的错误。我 "cd" 进入 app.yaml 所在的目录并再次 运行 命令并成功部署。

由于这个问题没有公认的答案,我会 post 在这里为任何未来的读者提供一个答案。

部署提示输入入口点,因为它未在 app.yaml 中指定。此字段对于 运行 Python 运行 灵活环境中的时间应用是必需的。将 运行 时间更改为 'custom' 不会提示,但应用程序容器仍然不知道如何 运行 您的应用程序,因此 VM 将无法启动。

文档中提供了更多详细信息:

应用程序启动 https://cloud.google.com/appengine/docs/flexible/python/runtime#application_startup

我遇到了同样的问题,发现我需要在我的 app.yaml 中添加 "entrypoint" 属性 并将其配置为指向我的启动脚本。我是 运行 一个 Python 3.5 应用程序 (Flask),具有以下 app.yaml。注意入口点 属性:

runtime: python
threadsafe: true
env: flex
entrypoint: gunicorn -b :$PORT application:APP

runtime_config:
     python_version: 3.5

handlers: 
- url: /.*
  script: application.APP