#!/bin/bash
set -e
TRITON_ASCEND=false
BUILD_WHEEL=false
show_help() {
echo "用法: ./build.sh [选项]"
echo ""
echo "选项:"
echo " --triton_ascend 安装 triton-ascend 相关依赖并以开发模式安装"
echo " --wheel 构建 wheel 包(默认行为,保持向后兼容)"
echo " -h, --help 显示此帮助信息"
echo ""
echo "示例:"
echo " ./build.sh # 构建 wheel 包"
echo " ./build.sh --wheel # 构建 wheel 包"
echo " ./build.sh --triton_ascend # 安装 triton-ascend 依赖并开发模式安装"
}
while [[ $# -gt 0 ]]; do
case $1 in
--triton_ascend)
TRITON_ASCEND=true
shift
;;
--wheel)
BUILD_WHEEL=true
shift
;;
-h|--help)
show_help
exit 0
;;
*)
echo "未知选项: $1"
show_help
exit 1
;;
esac
done
if [ "$TRITON_ASCEND" = false ] && [ "$BUILD_WHEEL" = false ]; then
BUILD_WHEEL=true
fi
if [ "$TRITON_ASCEND" = true ]; then
echo "================================================"
echo "开始 Triton Ascend 开发环境安装..."
echo "================================================"
echo "安装 requirements_triton_ascend.txt 依赖..."
pip install -r requirements_triton_ascend.txt
echo "以开发模式安装 akg_agents..."
pip install -e ./
echo ""
echo "================================================"
echo "Triton Ascend 开发环境安装完成!"
echo "================================================"
echo ""
echo "提示: 使用 pip install -e ./ 后,不再需要 source env.sh"
echo "现在可以直接使用 akg_agents 了。"
fi
if [ "$BUILD_WHEEL" = true ]; then
echo "================================================"
echo "开始构建 wheel 包..."
echo "================================================"
echo "清理旧的构建文件..."
rm -rf build/ dist/ *.egg-info/
echo "创建输出目录..."
mkdir -p output
echo "构建 wheel 包..."
python setup.py bdist_wheel --dist-dir output
echo ""
echo "================================================"
echo "构建完成!"
echo "================================================"
echo "wheel 包位置:"
ls -l output/
echo -e "\n您可以使用以下命令安装包:"
echo "pip install output/akg_agents-*-py3-none-any.whl"
fi