首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python部署到

Python部署到
EN

Stack Overflow用户
提问于 2014-06-06 08:57:49
回答 1查看 195关注 0票数 1

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

你能帮帮我吗

app.yaml

代码语言:javascript
复制
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文件内容在这里

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 09:39:57

检查误差

字符串类型的预期标量,但已找到:序列开始“

标量类型是什么?

标量是一个“单一”值--整数、布尔值,也许是字符串。

检查医生们

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

检查你的档案

在ferris/ in de.yaml的几个点上,您有使用expiration的这样的块

代码语言:javascript
复制
- url: /ferris/fonts
  static_dir: ferris/static/fonts
  expiration: 7d

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

解决方案

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

代码语言:javascript
复制
- url: /ferris/fonts
  static_dir: ferris/static/fonts
  expiration: "7d"

注意插入的双引号。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24077893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档