繁体   English   中英

Python部署到Google App Engine

[英]Python deploy to Google App Engine

我正在尝试将python项目部署到GAE。 但我给出此错误消息“第14行,第1列:字符串类型的预期标量,但发现:序列开始”

你能帮我吗

的app.yaml

application: app_name    #.appspot.com
version: baseline

runtime: python27
api_version: 1
threadsafe: yes 

default_expiration: 1h

builtins:
# Deferred is built in to Ferris. Do not enable it, it may lead to import errors.
- appstats: on  # Also turn on appstats in settings.py

includes:
- ferris/include.yaml
# If plugins require inculdes, put them here.

libraries:
- name: jinja2
  version: latest
- name: lxml
  version: latest
- name: webapp2
  version: latest
- name: webob
  version: latest

skip_files:
- ^(.*/)?app\.ya?ml
- ^(.*/)?index\.ya?ml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.scss
- ^(.*/)?.*\.less
- ^/docs*

handlers:
# Main script
- url: .*
  script: main.main_app
  login: required

include.yaml文件内容在这里

handlers:
# Static resources
- url: /static
  static_dir: app/static

- url: /css
  static_dir: app/static/css

- url: /js
  static_dir: app/static/js

- url: /img
  static_dir: app/static/img

# Ferris static resources
- url: /ferris/static
  static_dir: ferris/static
  expiration: 7d

- url: /ferris/css
  static_dir: ferris/static/css
  expiration: 7d

- url: /ferris/js
  static_dir: ferris/static/js
  expiration: 7d

- url: /ferris/img
  static_dir: ferris/static/img
  expiration: 7d

- url: /ferris/fonts
  static_dir: ferris/static/fonts
  expiration: 7d

# Top-level static files
- url: /favicon\.ico
  static_files: app/static/favicon.ico
  upload: app/static/favicon\.ico
  expiration: 7d

- url: /robots\.txt
  static_files: app/static/robots.txt
  upload: app/static/robots\.txt
  expiration: 7d

- url: /humans\.txt
  static_files: app/static/humans.txt
  upload: app/static/humans\.txt
  expiration: 7d

# Maps plugins/{plugin}/static to /plugins/{plugin} 
- url: /plugins/(.*?)/(.*)
  static_files: plugins/\1/static/\2
  upload: plugins/(.*?)/static/(.*)

# Cron prefix is admin-only.
- url: /cron/.*
  script: main.main_app
  login: admin

# Used to fix imports before running deffered tasks.
- url: /_ah/queue/deferred
  script: main.deferred_app
  login: admin

检查错误

字符串类型的预期标量,但发现:序列开始“

什么是标量类型?
标量是一个“单一”值 - 整数,布尔值,也许是一个字符串


检查文档

呼气

可选的。 此处理程序提供的静态文件的时间长度应由Web代理和浏览器缓存。 该值是一个由空格分隔的数字和单位 的字符串 ,其中单位可以是d表示天数, h表示小时数, m表示分钟数, s表示秒数。 例如, "4d 5h"将缓存过期设置为首次请求文件后的4天和5小时。 请参阅静态缓存过期。 如果省略,则使用应用程序的default_expiration。


检查您的文件

ferris / include.yaml的几个点,你有这样的块使用expiration

- url: /ferris/fonts
  static_dir: ferris/static/fonts
  expiration: 7d

在阅读了文档后,我们知道它需要一个字符串(这是一个标量类型)并且你给它7d ,它应该识别为错误中提到的序列开始


例如,解决方案应该像将expiration所有值更改为字符串一样简单

- url: /ferris/fonts
  static_dir: ferris/static/fonts
  expiration: "7d"

请注意插入的双引号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM