很高兴你对参与 PaddleFleet 的贡献感兴趣,在提交你的贡献之前,请花一点点时间阅读本指南
为了获得最佳的开发体验,希望你能够安装一些开发工具
这些工具都是可选的,都有一定的替代方案,不过可能会稍微麻烦些……
uv 是 PaddleFleet 用来进行项目管理的工具,你可以从安装指南找到合适的安装方式~
为了方便提交 PR,建议你在 clone 之前先在自己的 GitHub 创建一个 fork,你可以前往 PaddleFleet/fork 来创建一个 Fork。
git clone git@github.com:<YOUR_USER_NAME>/PaddleFleet.git # 将你的 repo clone 到本地
cd PaddleFleet/ # cd 到该目录
git remote add upstream https://github.com/PaddlePaddle/PaddleFleet.git # 将原分支绑定在 upstreamPaddleFleet 现在使用 uv workspace 方式管理项目,请在 PaddleFleet 仓库根目录执行以下命令。
这里涉及两种常见使用方式:
- 编包:将当前代码构建成
.whl安装包,适合发布、部署,或在其他环境中安装验证。 - 开发模式(editable):将源码目录以可编辑方式安装到当前 Python 环境中,适合本地开发调试。Python 代码修改后通常无需重新安装;如果修改了 C++ 自定义算子,则需要重新编译或重新安装对应子包。
# 只编根包 paddlefleet,产出纯 Python wheel 包
uv build --wheel -vv
# 只编子包 paddlefleet_ops,产出 C++ wheel 包
# 需要先在当前环境中准备好 paddlepaddle-gpu 等依赖包
uv build --package paddlefleet-ops --wheel -vv --no-build-isolationuv pip install -e . -vv如果不需要自己开发自定义算子,可以执行以下脚本自动安装匹配当前代码的 paddlefleet_ops:
bash scripts/install_ops_wheel.sh如果需要开发自定义算子,可以使用 editable 方式安装。
uv pip install -e packages/paddlefleet_ops -vv --no-build-isolation --system# 需要先安装 paddlepaddle-gpu
uv pip install -e packages/paddlefleet_ops -vv --no-build-isolation