Skip to content

非 Windows 平台安装与启动的 4 个问题 #15

Description

@Mieluoxxx

问题

在 macOS(Apple Silicon)上按源码安装并启动 Amadeus,遇到以下问题。
这些问题都会阻止全新环境跑通,且报错信息不易理解。

1. 首次安装必失败:pyaudio 编译报错

pyproject.toml 的必装依赖里有 PyAudio。它在 macOS 上需要先安装
系统库 portaudio 才能编译,否则直接报 portaudio.h not found
而纯文字聊天(TTS 关闭)根本用不到 PyAudio。

2. 无语音环境启动崩溃

即使跳过 pyaudio 装好了依赖,TTS_BACKEND=disabled 时启动后端仍然崩溃:

server/app.py:654  无条件导入 tts.playback → import pyaudio 报错

3. 本地语音依赖缺失

远程 TTS(如 MiMo)只需要 httpx,但播放音频还需要 scipy、
silero-vad、aec-audio-processing。这些包目前都藏在 local-cu124
可选组里,导致只装基础依赖的用户在播放语音时报
ModuleNotFoundError: No module named 'scipy'

4. 查找 venv Python 的路径写死了 Windows

asr/registry.py 和 asr/backends/qwen3_asr.py 查找独立运行环境时写死了
.venv_asr/Scripts/python.exe(Windows 目录结构)。macOS/Linux 的
venv 是 .venv_asr/bin/python3,导致探测永远失败。

5. barge-in 检测器顶层导入 torch

asr/barge_in_detector.py 模块级 import torch,且从后端启动流程
(bootstrap)可达。环境里没有 torch 时后端直接崩溃。

6. 麦克风服务顶层导入 torch / pyaudio

asr/mic_input_service.py 模块级导入 torch 和 pyaudio,从启动和
唤醒关闭路径可达,与问题 2 同类。

补充说明:silero-vad 硬依赖 torch

打断检测使用的 silero-vad 包(PyPI 元数据)声明了
torch>=1.12.0torchaudio>=0.12.0。也就是说只要安装打断检测,
torch 必然进入环境——它无法和普通语音功能放在同一层。
这直接影响依赖分层的粒度(见 PR #16 的四级阶梯)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions