app.yaml 文件 - 无法将值“python27 api_version”分配给属性“运行时”:

Posted

技术标签:

【中文标题】app.yaml 文件 - 无法将值“python27 api_version”分配给属性“运行时”:【英文标题】:app.yaml file - Unable to assign value 'python27 api_version' to attribute 'runtime': 【发布时间】:2017-10-10 00:02:24 【问题描述】:

我正在尝试通过 Google 应用引擎部署一个非常简单的网页,但由于我的 yaml 文件出现一些错误而无法部署该应用。

错误:

(gcloud.app.deploy) 解析文件时出错: [/home/google_gcp/parkwaypoc/app.yaml] 无法赋值 'python27 api_version' 到属性'runtime':值'python27 运行时的 api_version' 与表达式不匹配 '^(?:((gs://[a-z0-9-._/]+)|([az][a-z0-9-]0,29)))$'

我的 App.yaml 文件:

 runtime:python27
 api_version:1
 threadsafe:true

 handlers:- url:/
   static_files:www/index.html
   upload:www/index.html

 - url:/(.*)
   static_files:www/\1
   upload:www/(.*)

我搜索了其他有相同问题的人,这些问题暗示了空格问题,因此将它们删除,但我无法解决。

yaml 文件在此处直接从 Google 复制: https://cloud.google.com/appengine/docs/standard/python/getting-started/hosting-a-static-website#uploading_your_files_to_google_app_engine

对不起,我对此有点陌生。

问候, 瑞恩

【问题讨论】:

【参考方案1】:

您的 app.yaml 不是从the indicated link 直接剪切和粘贴的。发布的 yaml 已被冲洗,无法正确解析为 yaml。

试试:

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /
  static_files: www/index.html
  upload: www/index.html

- url: /(.*)
  static_files: www/\1
  upload: www/(.*)

【讨论】:

感谢您的回复,当使用精确的复制和粘贴时,我收到此错误:(gcloud.app.deploy) 解析文件时出错:[/home/google_gcp/parkwaypoc/app.yaml ] 无法将值 'python27 api_version' 分配给属性 'runtime':运行时的值 'python27 api_version' 与表达式 '^(?:((gs://[a-z0-9\-\._/] +)|([az][a-z0-9\-]0,29)))$' 在“/home/google_gcp/parkwaypoc/app.yaml”中,第 1 行,第 10 列 你在windows上吗? 我正在使用 Google Cloud Shell,并将 repo 复制到 Cloud Shell 实例上。 此处不涉及任何窗口 OP 发布的 YAML 有什么问题?它是一个 YAML 文档,由一个包含多行的字符串组成。这可能不是 OP 想要的,但它正确的 YAML。【参考方案2】:

我遇到了同样的问题。检查您的 yaml 文件是否在行前有多余的空格。当我从 Google 链接复制粘贴时,我遇到了这个问题。我删除了多余的缩进,它起作用了。

【讨论】:

我遇到了同样的问题,您的解决方案帮助了我...谢谢

以上是关于app.yaml 文件 - 无法将值“python27 api_version”分配给属性“运行时”:的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 app.yaml 在 GAE(python) 中上传静态文件?

无法使用 SED 快速编辑文件

无法获得非常简单的app.yaml设置工作

GAE 通过 app.yaml、python 装饰器或 users.get_current_user 强制登录?

如何配置 Google App Engine app.yaml 文件以强制 https

AppEngine:从 app.yaml 读取值/设置