3. 开发环境搭建:Python虚拟环境配置、主要依赖库安装
好,咱们正式开始动手了。这一章我带你搭开发环境。别小看这一步,我见过太多人因为环境没配好,卡在“导入报错”上浪费一整天。说白了,环境搭得稳,后面才能跑得顺。
3.1 为什么非得用虚拟环境?
你想想看,一个项目要 SpeechRecognition,另一个项目要 whisper,它们依赖的 Python 版本或者底层库可能不一样。要是全装到系统里,迟早会打架。我早期做项目时吃过这个亏——装了个新版 PyAudio,结果把另一个语音项目搞崩了。从那以后,我每个项目都老老实实开虚拟环境。
核心原则:一个项目,一个虚拟环境,互不干扰。
3.2 创建 Python 虚拟环境
我用的是 Python 自带的 venv 模块,轻量、够用。你也可以用 conda,但咱们这个课程用 venv 就足够了。
打开终端,进到你的项目目录,然后执行:
# 创建虚拟环境,名字叫 voice_env
python -m venv voice_env
嗯,这里要注意:如果你电脑上同时装了 Python 2 和 Python 3,记得用 python3 而不是 python。
创建好后,激活它:
| 操作系统 | 激活命令 |
|---|---|
| Windows (CMD) | voice_env\Scripts\activate |
| Windows (PowerShell) | voice_env\Scripts\Activate.ps1 |
| macOS / Linux | source voice_env/bin/activate |
激活成功后,终端前面会出现 (voice_env) 的标识。看到这个,就说明你已经在虚拟环境里了。
小技巧:我习惯在项目根目录下建一个 env/ 文件夹来放虚拟环境,这样一眼就能看到。但记得把 env/ 加到 .gitignore 里,别提交到代码仓库。
3.3 安装核心依赖库
好,环境激活了,接下来装库。咱们这个语音控制全家桶,主要依赖下面这几个:
- SpeechRecognition —— 语音识别接口封装,支持 Google、CMU Sphinx 等后端
- PyAudio —— 音频输入输出,麦克风录音全靠它
- whisper —— OpenAI 的本地语音识别模型,离线也能用
- edge-tts —— 微软 Edge 的 TTS 接口,免费且音质不错
直接一行命令搞定:
pip install SpeechRecognition PyAudio whisper edge-tts
等等,这里有个坑。PyAudio 在 Windows 上经常装不上,因为它依赖 PortAudio 的 C 库。我曾经在这上面卡了半小时,后来发现解决办法很简单:
Windows 用户注意:如果 pip install PyAudio 报错,去 这个网站 下载对应 Python 版本的 .whl 文件,然后本地安装:
pip install PyAudio‑0.2.11‑cp39‑cp39‑win_amd64.whl
把文件名换成你下载的那个就行。
macOS 用户可以用 Homebrew 先装 PortAudio:
brew install portaudio
pip install PyAudio
Linux 用户一般直接装就行,如果报错就装 portaudio19-dev:
sudo apt-get install portaudio19-dev python3-pyaudio
pip install PyAudio
3.4 验证安装是否成功
库装完了,怎么知道能不能用?写个小脚本测一下:
import speech_recognition as sr
import pyaudio
import whisper
import edge_tts
print("SpeechRecognition 版本:", sr.__version__)
print("PyAudio 版本:", pyaudio.__version__)
print("whisper 版本:", whisper.__version__)
print("edge-tts 导入成功!")
# 检查麦克风
mic = sr.Microphone()
print("默认麦克风:", mic.device_index)
如果没报错,说明环境搭好了。如果 PyAudio 报错,八成是没装好,回头检查一下上一步。
我的习惯:每次搭完环境,我都会跑一遍这个验证脚本,然后把输出截图保存。后面出问题了,能快速对比是不是环境变了。
3.5 知识体系总览
下面这张图,帮你理清这一章的核心逻辑:
3.6 常见问题与避坑
我整理了几个新手最容易踩的坑,你遇到了直接对照着看:
- pip 版本太旧:装库前先升级 pip,
pip install --upgrade pip。我遇到过因为 pip 版本低,装 whisper 一直失败的情况。 - whisper 模型下载慢:第一次用 whisper 时会自动下载模型文件(几百 MB)。如果卡住,可以手动去 Hugging Face 下载,放到
~/.cache/whisper/目录下。 - edge-tts 需要网络:它调用的是微软 Edge 的在线接口,没网的时候会报错。离线场景下,建议用 pyttsx3 作为备选。
- 麦克风权限:macOS 和 Windows 上,第一次用 PyAudio 录音时,系统会弹权限请求。记得点“允许”,不然录音一直是静音。
一句话总结:虚拟环境隔离项目,四个库各司其职,装完一定要验证。环境搭好了,后面写代码才安心。