跳至主要内容

zc.buildout 食谱,用于预编译Python和po文件。

项目描述

构建配置用于在egg列表中预编译Python和本地化文件。

为什么需要预编译?

Python通常会根据需要将.py文件编译成.pyc或.pyo字节码文件。同样,Plone等应用程序也会在需要时将.po本地化文件编译成.mo表示。

然而,如果您正在以守护进程的方式运行Python应用程序,并且希望防止对代码目录的写入访问,您希望在构建时而不是运行时进行这些编译。这正是这个配方的作用所在。传入egg列表,它将获取列表中所有构建out工作集的egg,并找到并就地编译.py和.mo文件。

.mo文件编译是可选的,并且必须启用。

用法

请注意,随着0.5版本的发布,用法已更改。如果您需要旧选项,请使用0.4。

常见用法

[buildout]
parts =
    ...
    precompile
eggs = ...


[precompile]
recipe = plone.recipe.precompiler
eggs = ${buildout:eggs}
compile-mo-files = true

此配方可能会返回关于无法编译皮肤层脚本的无害警告,这些脚本通常在函数外部有“返回”。虽然这些警告是无害的,但您可以通过调整跳过列表来抑制它们。

选项

recipe = plone.recipe.precompiler

eggs = required: list of eggs

compile-mo-files = true/false; default is false

extra-paths = optional list of additional paths
    that would not be found from eggs
    in multiple
    indented lines

quiet = true/false; if true, common errors are only shown when buildout's
    verbose flag is set.

注意

此配方是为Plone安装程序创建的,但希望它在许多构建out环境中都有用。

变更历史

plone.recipe.precompiler的变更日志。

0.7.2 (2020-06-26)

错误修复

  • 小的打包更新。[gforcada, jensens, maurits]

0.7.1 (2018-11-11)

错误修复

  • 重新发布以修复0.7中的Python 3问题。[esteele]

0.7 (2018-11-07)

错误修复

  • 修复0.6中的回归,显示过多的.pο编译错误。

0.6 (2012-12-17)

  • 使用python_gettext而不是msgfmt来编译.pο文件。消除了对gettext的依赖。(smcmahon)

0.5

  • 在静默选项为真(默认值)时,吸收错误消息并过滤它们以隐藏.pο编译错误和.py“函数外返回”错误。(smcmahon)

  • 使extra-paths与新的工作集方法兼容,该方法用于查找egg。(smcmahon)

  • 删除了BBB代码。chaoflow引入的查找egg的新方法比我的原始方法好得多。(smcmahon)

  • 删除了从zope2instance配方中的部分自动提取产品目录的功能。这导致构建out总是安装所有部分。如果您需要产品目录,您必须明确声明,如下所示:dirs = ${instance:products}(do3cc - 2012-07-12)

0.4 (2010-08-12)

  • 支持遍历egg依赖项,无需跳过/rx,已手动测试。(chaoflow - 2010-08-12)

  • 支持在egg目录中编译mo文件,已手动测试。(chaoflow - 2010-08-12)

  • 保留了旧语法和代码,只是不要指定egg(未测试)

0.3

  • 支持递归编译目录列表,具有子目录黑名单和文件黑名单正则表达式。(Steve McMahon)

贡献者

项目详情


下载文件

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

源分发

plone.recipe.precompiler-0.7.2.zip (13.3 kB 查看散列

上传时间

构建分发

plone.recipe.precompiler-0.7.2-py2.py3-none-any.whl (5.7 kB 查看散列

上传时间 Python 2 Python 3

由以下支持