Skip to content

MacOS环境下的安装与启动脚本 #4

@SylZ25

Description

@SylZ25

非常喜欢这个项目!
我参考原版的 install.bat为 Mac 写了一套适配的启动脚本,利用mac自带的venv虚拟环境就可以跑起来(需要通过brew install ffmpeg安装ffmpeg)
虽然tts还需要进入根目录手动启动,以及需要手动把ckpt和pth文件转换为onnx与bin文件并手动创建+拖入对应目录( 正在研究怎么解决……

参考配置:macOS 26.4.1 M1芯片 已安装homebrew

使用方法:

  1. 在项目根目录下新建两个文件,分别重命名为 install_mac.commandstart_mac.command
  2. 把下面的代码对应粘贴
  3. 在终端运行一下 chmod +x *.command 赋予运行权限
  4. 先点 install安装,再点 start 启动

1. 安装脚本 (install_mac.command)

#!/usr/bin/env bash
# macOS 对应整合包 install.bat:在本机创建 venv 并安装 requirements.txt。
set -euo pipefail

ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT"

echo "========================================"
echo "  安装依赖(macOS)"
echo "========================================"
echo

REQ="$ROOT/requirements.txt"
if [[ ! -f "$REQ" ]]; then
  echo "错误: 未找到 requirements.txt(当前目录: $ROOT" >&2
  exit 1
fi

if ! command -v python3 >/dev/null 2>&1; then
  echo "错误: 未找到 python3。请先安装 Python 3.10+(推荐 python.org 或 brew install python@3.12)" >&2
  exit 1
fi

VENV="$ROOT/venv"
if [[ ! -d "$VENV" ]]; then
  echo "正在创建虚拟环境: $VENV"
  python3 -m venv "$VENV"
  echo
fi

PIP="$VENV/bin/pip"
PY="$VENV/bin/python"
if [[ ! -x "$PIP" ]]; then
  echo "错误: 虚拟环境不完整,缺少 $PIP" >&2
  exit 1
fi

echo "Python: $($PY -V)"
echo "正在安装依赖(与 install.bat 相同镜像源,便于国内网络)..."
echo

# 与 install.bat 保持一致:主镜像 + 备用索引
"$PIP" install -U pip setuptools wheel
"$PIP" install -r "$REQ" \
  -i "https://mirrors.aliyun.com/pypi/simple" \
  --extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" \
  --extra-index-url "https://pypi.org/simple"

echo
echo "========================================"
echo "  安装完成"
echo "========================================"
echo "接下来请双击或运行: start_mac.command"
echo
if [[ -t 0 ]]; then
  read -r -p "按回车键关闭窗口…" _ || true
fi

2. 启动脚本 (start_mac.command)

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT"
export QT_API=pyside6
PY="$ROOT/venv/bin/python"
[[ -x "$PY" ]] || { echo "缺少 $PY,先运行 install_mac.command" >&2; exit 1; }
exec "$PY" "$ROOT/webui_qt.py" "$@"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions