如何运行PyBuilder构建及发布的脚本?是否支持pyb run命令?
关于PyBuilder的
pyb run命令及运行脚本的方法 1. 有没有pyb run命令?
PyBuilder默认并没有内置pyb run命令,但你可以自定义运行任务来实现类似功能,操作起来很简单:
- 打开项目根目录下的
build.py文件 - 添加自定义任务代码,示例如下:
from pybuilder.core import task, depends @task @depends("package") # 可选配置,确保先完成打包流程再运行脚本 def run(project, logger): logger.info("Starting application...") # 这里替换成你实际的脚本入口逻辑 from my_project.main import main main() - 配置完成后,在终端执行
pyb run,PyBuilder就会执行这个自定义的运行任务了。
2. 找不到可运行产物的解决方法
你已经完成了测试、打包流程,但看不到直接可运行的产物,核心原因是默认配置下,PyBuilder仅完成了代码打包,没有配置控制台入口点(console scripts)。要生成可直接调用的命令,只需两步:
步骤1:在build.py中配置console scripts
添加以下配置(替换为你的项目实际路径和入口函数):
project.set_property("distutils_console_scripts", [ "my_app = my_project.main:main" # 格式:终端命令名 = 包名.模块名:入口函数名 ])
这里的my_app是你安装后将在终端使用的命令,my_project.main是你的主模块路径,main是模块里的入口函数。
步骤2:重新构建并安装
执行以下命令完成构建和安装:
pyb clean install
安装完成后,直接在终端输入my_app就能运行你的脚本了。
补充:关于target目录的说明
target目录下的产物主要分为几类:
dist/:存放生成的tar.gz包和wheel包build/:编译后的Python字节码文件reports/:测试覆盖率、单元测试报告等文档
可运行的命令是通过pip安装时,由setup.py中的console scripts配置自动生成的,不会直接出现在target目录里,而是被安装到你的Python环境的bin目录(Linux/macOS)或Scripts目录(Windows)中。
如果不想全局安装,也可以在项目根目录执行pip install -e .进行开发模式安装,这样修改代码后无需重新安装就能直接运行命令。
内容的提问来源于stack exchange,提问作者Andrey Tyukin
相关产品推荐
相关产品推荐

