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)
您似乎在灵活和标准环境之间混合。选项runtime: python37和instance_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)