编译python和po文件的方法。
plone.recipe.precompiler的Python项目详细描述
构建配方以在egg列表中预编译python和locale文件。
为什么要预编译?
python通常将.py文件编译成.pyc或.pyo字节码文件 按需提供。同样,像plone这样的应用程序经常编译.po locale 需要时将文件转换为.mo表示形式。
但是,如果您将python应用程序作为守护进程运行并希望 为了防止对代码目录的写访问,您需要执行以下操作 编译在构建时,而不是运行时。这就是这个食谱 进来。通过一个鸡蛋清单,它会把 为列表构建工作集并查找和编译.py和.mo 文件就位。
.mo文件编译是可选的,必须打开。
用法
请注意,版本0.5改变了使用方式。如果你需要老人 选项,使用0.4
常用用法:
[buildout] parts = ... precompile eggs = ... [precompile] recipe = plone.recipe.precompiler eggs = ${buildout:eggs} compile-mo-files = true
此配方可能会返回有关无法编译皮肤的无害警告 层脚本,通常在函数外部有“return”。而这些 警告是无害的,可以通过调整跳过列表来抑制它们。
选项
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安装程序创建的,但希望在 许多构建上下文。
更改历史记录
plone.recipe.precompiler的变更日志。
0.7.1(2018-11-11)
错误修复:
- 重新释放以修复0.7中的Python3问题 [埃斯特勒]
0.7(2018-11-07)
错误修复:
- 修复0.6中的还原,显示太多.po编译错误。
0.6(2012-12-17)
- 使用python-gettext而不是msgfmt编译.po文件。删除 依赖gettext。 (smcmahon)
0.5
- 吸取错误消息并筛选它们以隐藏.po编译错误 当quiet选项为true(默认值)时,.py“返回外部函数”错误。 (smcmahon)
- 使额外的路径与新的寻找卵子的工作集方法一起工作。 (smcmahon)
- 删除了BBB代码。潮水县引进的新的鸡蛋发现方法是 比我原来的好多了。 (smcmahon)
- 删除了自动从中提取产品目录的功能 佐培根配方的零件。这导致了建筑总是 安装所有部件。如果需要products dir,则必须显式声明它 就像这样:dirs=${instance:products} (DO3CC-2012-07-12)
0.4(2010-08-12)
- 支持步行卵子依赖性,不带skip/rx,手动测试。 (朝流-2010-08-12)
- 支持在这些egg目录中编译mo文件,手动测试。 (朝流-2010-08-12)
- 保留旧的语法和代码,只是不要指定eggs(未测试)
0.3
- 支持递归编译dirs列表,包括subdir黑名单和文件 黑名单正则表达式。 (史蒂夫麦克马洪)
贡献者
- 史蒂夫•麦克马洪,steve@dcn.org>;
- 弗洛里安弗里斯多夫flo@chaoflow.net>;