跳转到主要内容

为App Engine开发构建的食谱。

项目描述

appfy.recipe.gae

https://travis-ci.org/prmtl/appfy.recipe.gae.png?branch=master

appfy.recipe.gae 提供一系列 zc.buildout 食谱,以帮助进行 Google App Engine 开发。它受到 rod.recipe.appengine 的启发,但使用不同的布局并具有扩展的功能。它也被分为不同的食谱。目前 appfy.recipe.gae 有3个食谱

appfy.recipe.gae:app_lib:

从PyPi下载库并将其安装到应用目录中。

appfy.recipe.gae:sdk:

下载并安装App Engine SDK。

appfy.recipe.gae:tools:

在构建目录中安装一个Python可执行文件和几个SDK脚本:appcfg、bulkload_client、bulkloader、dev_appserver 和 remote_api_shell。它还允许设置默认值以启动dev_appserver。

源代码和问题跟踪器可以在https://github.com/prmtl/appfy.recipe.gae找到。

有关appfy如何使App Engine应用分发变得简单和愉快的示例,请参阅Moe安装说明

appfy.recipe.gae:app_lib

从PyPi下载库并将其安装在应用目录中。此配方扩展了zc.recipe.egg.Scripts,因此该配方中所有选项也都是有效的。

选项

eggs:

要安装的包名。

lib-directory:

库的目的地目录。默认为distlib

use-zipimport:

如果设置为true,则创建一个包含库的zip文件而不是目录。zip文件名将是lib-directory的值加上.zip

ignore-globs:

不从库中复制的glob模式列表。

ignore-packages:

要忽略的顶级包名或模块列表。这对于忽略不会使用的依赖项很有用。一些包可能安装distribute,setuptools或pkg_resources,但在App Engine上它们并不非常有用,因此可以将它们设置为忽略,例如。

delete-safe:

如果设置为true,则在构建时始终将lib-directory移动到parts目录内的临时目录作为备份,而不是删除它。这是为了避免如果lib-directory配置不当而意外删除。默认为true

示例

[app_lib]
# Sets the library dependencies for the app.
recipe = appfy.recipe.gae:app_lib
lib-directory = app/distlib
use-zipimport = false

# Define the libraries.
eggs =
    tipfy

# Don't copy files that match these glob patterns.
ignore-globs =
    *.c
    *.pyc
    *.pyo
    */test
    */tests
    */testsuite
    */django
    */sqlalchemy

# Don't install these packages or modules.
ignore-packages =
    distribute
    setuptools
    easy_install
    site
    pkg_resources

appfy.recipe.gae:sdk

在buildout目录中下载和安装App Engine SDK。

选项

url:

App Engine SDK文件的URL。默认是从storage.googleapis.com下载最新版本。

destination:

提取SDK的目的地。默认为parts目录。

clear-destination:

如果设置为true,则在提取下载之前删除目标目录。默认为true

示例

[gae_sdk]
# Dowloads and extracts the App Engine SDK.
recipe = appfy.recipe.gae:sdk
url = http://googleappengine.googlecode.com/files/google_appengine_1.3.5.zip
destination = ${buildout:parts-directory}
hash-name = false
clear-destination = true

appfy.recipe.gae:tools

在buildout目录中安装Python可执行文件和几个SDK脚本:appcfg、bulkload_client、bulkloader、dev_appserver和remote_api_shell。

它还允许为dev_appserver设置默认值。

此配方扩展了zc.recipe.egg.Scripts,因此该配方中所有选项也都是有效的。

选项

sdk-directory:

App Engine SDK目录的路径。可以是绝对路径,也可以是引用appfy.recipe.gae:sdk目的地选项的引用。默认为${buildout:parts-directory}/google_appengine

appcfg-script:

要安装在bin目录中的appcfg脚本名称。默认为appcfg

bulkload_client-script:

要安装在bin目录中的bulkloader脚本名称。默认为bulkload_client

bulkloader-script:

要安装在bin目录中的bulkloader脚本名称。默认为bulkloader

dev_appserver-script:

要安装在bin目录中的dev_appserver脚本名称。默认为dev_appserver

remote_api_shell-script:

要安装在bin目录中的remote_api_shell脚本名称。默认为remote_api_shell

config-file:

包含在脚本中使用的默认值的配置文件。默认为gaetools.cfg

extra-paths:

要包含在生成的脚本sys.path中的额外路径。

initialization:

允许指定要包含在脚本中的某些Python代码。

示例

[gae_tools]
# Installs appcfg, dev_appserver and python executables in the bin directory.
recipe = appfy.recipe.gae:tools
sdk-directory = ${gae_sdk:destination}/google_appengine
# add extra code
initialization =
  import dev_appserver
  dev_appserver.fix_sys_path()
# Add these paths to sys.path in the generated scripts.
extra-paths =
    app/lib
    app/distlib

注意,此示例引用了appfy.recipe.gae:sdk示例中的gae_sdk部分。也可以使用绝对路径。

为了设置启动dev_appserver的默认值,在定义的配置文件(默认为gaetools.cfg)中创建一个dev_appserver部分。例如

[dev_appserver]
# Set default values to start the dev_appserver. All options from the
# command line are allowed. They are inserted at the beginning of the
# arguments. Values are used as they are; don't use variables here.
recipe = appfy.recipe.gae:tools
defaults =
    --datastore_path=var/data.store
    --history_path=var/history.store
    --blobstore_path=var/blob.store
    app

每个选项应单独一行设置,如上所示。调用dev_appserver时提供的选项将覆盖默认值。

版本

版本 0.9.10 - 2015年2月21日

  • 等待在安装时检查空sdk url(Joshua Johnston)

版本 0.9.9 - 2014年11月20日

  • 修复在获取最新SDK时出现的401错误代码问题

版本 0.9.8 - 2014年10月26日

  • 如果未指定‘url’,则获取最新SDK版本(Oliver Brook)

  • 添加PEP8和代码风格检查

版本 0.9.7 - 2014年7月22日

  • 添加允许运行多个yaml文件的修复

版本 0.9.6 - 2014年6月2日

  • 添加endpointscfg脚本,用于与Google Cloud Endpoints一起工作

版本 0.9.5 - 2014年5月11日

  • 将任何初始化选项追加到生成的初始化输出中(Josh Johnston)

版本 0.9.4 - 2013年12月1日

  • 将包移动到Github

  • 从z3c.recipe.egg移动到zc.recipe.egg

版本 0.9.3 - 2010年12月3日

  • 更改要求

    zc.buildout >= 1.5.2
    z3c.recipe.scripts >= 1.0.1
    zc.recipe.egg >= 1.3.2

版本 0.9.1 - 2010年11月27日

  • 将选项‘clear-destination’重新添加到dowanload配方中,默认为true。当文件存在时,它会导致错误,而‘ignore-existing’无法避免它。

版本 0.9 - 2010年11月23日

  • 脚本现在扩展z3c.recipe.scripts.scripts.Scripts,以更好地与buildout 1.5.2兼容。

  • appfy.recipe.gae.sdk接受sha1sum选项,以检查Google提供的SDK校验和。

  • 移除了hexagonit.recipe.download,因为它不足以允许进行sha1校验和检查。

版本 0.8 - 2010年7月27日

  • 当未找到egg info时不抛出IOError,而仅发出警告,让安装继续进行。

版本 0.7.2 - 2010年6月18日

  • os.makedirs()而不是os.mkdirs(). 哎呀。

版本 0.7.1 - 2010年6月18日

  • 小改进:在为app_lib创建备份时,使用os.mkdirs()而不是os.mkdir()(Tom Lynn)。

版本 0.7 - 2010年6月17日

  • 添加了对多行top_level的支持。现在它可以处理top_level.txt中有多行的egg。感谢Benjamin Kampmann为此做出的贡献(问题#3)。

  • 添加ignore-packages选项,这对于忽略在App Engine上无用的setuptools、distribute和其他依赖包很有用。

  • 现在单个模块也由ignore-globs匹配。

  • ignore-globs现在移除不相关的路径前缀,以实现更好的匹配。

  • 记录了extra-paths,这对于在脚本中将库目录添加到sys.path中很有用。

  • 进行了一些重构和清理。

版本 0.6.1 - 2010年6月3日

  • 如果未找到egg info,则不安装包,而不是中断。这导致当setuptools声明为依赖项时出现问题。

版本 0.6 - 2010年6月1日

  • app_lib现在也可以安装开发egg。

版本 0.5.2 - 2010年5月27日

  • 正确安装了单个文件。

  • 命名空间包现在也放在相同的目录结构中。这导致在尝试第二次创建目录时出现错误。

版本 0.5.1 - 2010年5月17日

  • appfy.recipe.gae:app_lib现在扩展zc.recipe.egg.Scripts,因此包中的脚本会像以前一样安装。

版本 0.5 - 2010年5月5日

  • 删除了校验和检查,现在如果delete-safe设置为true(这是默认值),则将文件移动到备份目录。这使得构建更快,避免了令人讨厌的无效校验和错误。

版本 0.4.5 - 2010年5月5日

  • 使用tempfile.gettempdir()保存临时文件。谢谢,tlynn。

版本 0.4.4 - 2010年5月3日

  • 默认在app_lib中解压缩egg,否则我们无法使用某些egg。

版本 0.4.3 - 2010年5月3日

  • 仅接受多行配置的gaetools。

  • 修复了app_lib中的tmpdir。

版本 0.4.2 - 2010年5月1日

  • app_lib现在扩展zc.recipe.egg.Eggs并将默认egg设置为空字符串,以避免错误。

  • 更多小的重构。

版本 0.4.1 - 2010年5月1日

  • 从 app_lib 中移除了 primary-lib-directory 选项。

  • 代码清理和重构。

版本 0.4 - 2010年4月30日

  • 修复了当 buildout 配置为使用绝对路径时脚本路径的问题。修复了问题 #1。感谢 Lacrima.Maxim 提供的报告。

  • 脚本现在使用 alter_sys=True 运行,因此使用 __doc__ 的帮助信息可以正确显示。

版本 0.3 - 2010年4月29日

  • 向 appfy.recipe.gae:tools 添加了 config-file 选项,用于定义设置脚本默认参数的配置文件。

版本 0.2 - 2010年4月29日

  • 添加了 bulkload_client、bulkloader 和 remote_api_shell 脚本。

  • 修复了脚本入口点:它们在 Windows 上中断;现在可以正常工作。

  • 现在所有食谱都在 Windows 上测试并通过。

版本 0.1 - 2010年4月28日

初始发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

appfy.recipe.gae-0.9.10.zip (30.2 kB 查看哈希值)

上传时间 源代码

appfy.recipe.gae-0.9.10.tar.gz (15.8 kB 查看哈希值)

上传时间 源代码

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面