如何配置pybuilder?

4 投票
1 回答
2888 浏览
提问于 2025-04-17 23:32

我该如何更改pybuilder中的配置?pybuilder的配置是怎么运作的?

我该如何找到可用的配置值和它们的默认值?我又该如何在每个项目、每个模块、命令行或者设置文件中覆盖或更改这些值?哪些是设置文件呢?

1 个回答

5

1) 找到初始化方法

修改一个已有项目的配置非常简单。你只需要去项目根目录下的 build.py 文件,确保里面有以下代码:

from pybuilder.core import init

还要有这个(去掉点):

@init
def initialize(project):
  ... 

2) 属性示例

插件的配置是通过它们所谓的 properties 来完成的。这里有一个可用插件属性及其默认值的列表:http://pybuilder.github.io/documentation/plugins.html 如果你不配置某个属性,就会使用默认值。

还有一个 Python 核心插件,你可以在这里 更改默认目录

http://pybuilder.github.io/documentation/plugins.html#Pythondeployment

这个示例展示了如何更改插件的一个属性:

project.set_property('unittest_module_glob', '*_unittest')

这将把 unittest 插件的属性 unittest_module_glob 设置为 '*_unittest'。

3) 属性示例

有一些 attributes 用来描述整个项目。例如,要更改项目的版本属性,可以在 initialize 方法中使用这样的代码:

project.version = "0.1.14"

4) 完整示例

你的 .\build.py 现在可能看起来像这样:

from pybuilder.core import use_plugin
from pybuilder.core import init

use_plugin("python.core")
use_plugin("python.unittest")

name = "myfirstproject"
default_task = "publish"

@init
def initialize(project):
  project.version = "0.1.14"
  project.set_property('unittest_module_glob', '*_unittest')

5) 从命令行设置属性

属性也可以通过命令行选项来设置或覆盖:

$ pyb -P unittest_module_glob="*_unittest"

6) 进一步阅读

http://pybuilder.github.io/documentation/manual.html#Project-specificconfiguration

撰写回答