# 第一阶段:构建 OpenVoice 环境(锁定 numpy==1.22.0) FROM python:3.9-slim AS openvoice-builder # 安装系统依赖 RUN apt-get update && apt-get install -y \ ffmpeg libsndfile1 git \ && rm -rf /var/lib/apt/lists/* # 强制安装 numpy==1.22.0 并构建 OpenVoice WORKDIR /app COPY OpenVoice/ ./OpenVoice RUN pip install numpy==1.22.0 && \ pip install -e ./OpenVoice # 第二阶段:构建主程序环境(允许 numpy>=2.0.0) FROM python:3.9-slim AS main-app # 安装主程序依赖(隔离于 OpenVoice 的环境) WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 从第一阶段复制已编译的 OpenVoice 和兼容库 COPY --from=openvoice-builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages COPY --from=openvoice-builder /app/OpenVoice /app/OpenVoice # 暴露端口并启动 EXPOSE 7860 CMD ["python", "app.py"]