# CLI 工具

Python CLI 用于创建、运行和构建业务项目。完成框架安装后即可使用:

yuanbootctl-python --help
yuanbootctl-python version

从公开 PyPI 安装:

python -m pip install yuanbootctl-python==0.2.0

工具安装包自动依赖同版本的 yuanboot,命令入口和模板资源由框架提供。 yuanbootctl-python[all] 可安装全部标准组件。 python -m yuanboot.cli 也可调用当前 Python 环境中的工具。

# 独立可执行文件

从 GitHub Releases (opens new window) 下载对应平台的压缩包, 解压后即可执行,无需安装 Python。

平台 架构
Linux amd64 / arm64
macOS Intel / Apple Silicon
Windows amd64

例如 Linux amd64:

VERSION=0.2.0
curl -fLO "https://github.com/liangboceo/yuanboot-python/releases/download/v${VERSION}/yuanbootctl-python_${VERSION}_linux_amd64.tar.gz"
tar -xzf "yuanbootctl-python_${VERSION}_linux_amd64.tar.gz"
./yuanbootctl-python new webapi -n orders
cd orders
../yuanbootctl-python run --profile dev

Windows 使用 yuanbootctl-python.exe。二进制内含 Python、框架、组件和模板文档资源。 增加额外业务依赖后,用 run --python /path/to/.venv/bin/python 指定业务环境。

# 命令概览

命令 说明
new 从模板创建项目
run 启动项目中的 Web、gRPC 或 Console 宿主
build 构建业务项目的 wheel 和源码包
version 查看当前框架版本

# new — 创建项目

yuanbootctl-python new <模板> -n <项目名> -p <输出目录>
参数 说明
--list、-l 列出可用模板
--name、-n 项目名称,默认 demo
--path、-p 输出目录,默认当前目录
--framework-version PyPI 版本,默认读取工具内置的框架版本
--framework-ref 显式切换为 Git 依赖并指定 ref
--framework-repo 显式切换为 Git 依赖并指定仓库
模板 用途
simpleweb 最小 HTTP 服务
webapi REST API、服务注入和参数校验
mvc 控制器、业务服务和 Jinja2 视图
microservice Web API 与后台任务
console Console 宿主与后台服务
grpc gRPC 服务与健康检查
admin 管理后台前端与 Python 权限 API
yuanbootctl-python new --list
yuanbootctl-python new webapi -n orders --framework-version 0.2.0
yuanbootctl-python new mvc -n portal --framework-version 0.2.0
yuanbootctl-python new grpc -n inventory --framework-version 0.2.0

项目名以字母开头,可包含字母、数字、短横线和下划线。输出目录下已有同名项目时不会覆盖。 七种模板都默认生成 README.md 和 spec:

README.md
spec/
├── yuanboot-python.md
├── components.md
└── backend-module-development.md

README 包含启动命令与文档入口,spec 包含框架说明、核心组件和后端模块开发规范。

admin 额外生成 <项目名>-server、<项目名>-web 两个目录,以及 spec/admin.md。 在 server 目录安装依赖并运行后端,在 web 目录运行 pnpm install --frozen-lockfile && pnpm dev。 完整说明见管理后台模板。

# run — 运行项目

在生成的项目目录执行:

yuanbootctl-python run
yuanbootctl-python run --profile dev --reload
yuanbootctl-python run --profile fat --port 9000
yuanbootctl-python run --profile pro --workers 2
参数 说明
--path、-p 项目目录,需包含 pyproject.toml
--profile dev / fat / uat / pro
--host、--port Web 监听地址与端口
--reload Web 开发热重载
--workers Web 工作进程数,默认 1
--python 使用已安装业务依赖的 Python 解释器

--reload 与多 worker 不能同时使用;Console 和 gRPC 项目不使用这些 Web 参数。 入口由 pyproject.toml 的 [tool.yuanboot] 配置决定,见基本概念与架构。 每个 worker 会运行自己的后台服务,定时任务需要跨进程唯一执行时,应使用锁或独立调度服务。

# build — 构建业务项目

在业务环境中安装构建依赖:

python -m pip install build
yuanbootctl-python build

默认在 dist/ 中生成 wheel 和源码包:

dist/
├── orders-0.1.0-py3-none-any.whl
└── orders-0.1.0.tar.gz

构建版本取自业务项目 pyproject.toml 的 project.version。 它与依赖的 yuanboot 框架版本分别管理。 独立二进制的 build 使用业务项目 .venv 的 Python,或通过 --python 指定;该环境必须安装 build。

yuanbootctl-python build --wheel
yuanbootctl-python build --sdist
yuanbootctl-python build --outdir ./packages

构建后按 Docker 部署或宿主机部署运行服务。

# version — 查看版本

yuanbootctl-python version
yuanbootctl-python --version

框架版本的选择和升级见版本与安装。 GitHub Release/tag 与 PyPI 的自动发布流程也见该页面。

0.1.8 起,六类模板均包含根目录 main.py 和 PyCharm 模块调试配置 .run/yuanboot.run.xml,详见PyCharm 调试与直接运行。