(gcloud.app.deploy) 您的应用程序不满足 [python37] 类型的运行时的所有要求

Osv*_*lho 1 python google-app-engine app.yaml plotly-dash

当我尝试将 python/dash 应用程序部署到 GCP 应用程序引擎时,我收到以下消息:“错误:(gcloud.app.deploy) 您的应用程序不满足 [python37] 类型的运行时的所有要求。请更正错误,然后重试。”

哪些错误?这是我的 app.yaml 文件:

runtime: python37
env: flex

instance_class: F4_1G

resources:
  cpu: 1
  memory_gb: 8
  disk_size_gb: 10
                             
entrypoint: gunicorn -b :$PORT main:app

# handlers:
#  - url: ./assets
#  static_dir: assets
  
# https://cloud.google.com/appengine/docs/standard/python/config/appref
env_variables:
  PKL_BUCKET:  'susano-dash.appspot.com'
Run Code Online (Sandbox Code Playgroud)

这是我的 requirements.txt 文件:

Brotli==1.0.7
cachetools==4.1.0
certifi==2020.4.5.1
chardet==3.0.4
click==7.1.2
dash==1.11.0
dash-bootstrap-components==0.10.0
dash-core-components==1.9.1
dash-html-components==1.0.3
dash-renderer==1.4.0
dash-table==4.6.2
Flask==1.1.2
Flask-Compress==1.5.0
Flask-SQLAlchemy==2.4.3
future==0.18.2
google-api-core==1.17.0
google-api-python-client==1.8.4
google-auth==1.15.0
google-auth-httplib2==0.0.3
google-auth-oauthlib==0.4.1
google-cloud==0.34.0
google-cloud-core==1.3.0
google-cloud-storage==1.29.0
google-resumable-media==0.5.1
googleapis-common-protos==1.51.0
httplib2==0.18.1
idna==2.9
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
numpy==1.18.3
oauthlib==3.1.0
pandas==1.0.3
plotly==4.6.0
protobuf==3.12.1
pyasn1==0.4.8
pyasn1-modules==0.2.8
python-dateutil==2.8.1
pytz==2020.1
requests==2.23.0
requests-oauthlib==1.3.0
retrying==1.3.3
rsa==4.0
six==1.14.0
SQLAlchemy==1.3.17
uritemplate==3.0.1
urllib3==1.25.9
Werkzeug==1.0.1
Run Code Online (Sandbox Code Playgroud)

Emm*_*uel 5

您似乎在灵活标准环境之间混合。选项runtime: python37instance_class: F4_1G属于标准环境,但在环境类型中您将其设置为env: flex

假设你将使用一个灵活的环境,因为 LundinCast 已经说过你必须改变你app.yaml的包含runtime: python并指定python_version: 3使用最新版本的 Python,同时考虑到你试图设置instance_class我假设你想使用自动缩放(这是默认选项)。在memory_gb选项中,根据文档,8 是无效值,每个 CPU 内核需要 0.9 到 6.5 GB 之间的总内存。

app.yaml与所有制造会是这样的变化:

runtime: python
env: flex

runtime_config:
    python_version: 3

resources:
    cpu: 1
    memory_gb: 6
    disk_size_gb: 10
                             
entrypoint: gunicorn -b :$PORT main:app

env_variables:
  PKL_BUCKET:  'project-id.appspot.com'
Run Code Online (Sandbox Code Playgroud)

此外,如果您想gunicorn按照您在entrypoint选项中指定的方式使用,您必须将其添加到您的requirements.txt文件中:

...
gunicorn==20.0.4
...
Run Code Online (Sandbox Code Playgroud)