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 知识体系总览

下面这张图,帮你理清这一章的核心逻辑:

开发环境搭建核心流程 1. 创建虚拟环境 python -m venv voice_env 2. 激活环境 source voice_env/bin/activate 3. 安装依赖库 pip install ... SpeechRecognition 语音识别接口 PyAudio 音频输入输出 whisper 离线语音识别 edge-tts 文本转语音 4. 验证安装 运行测试脚本,检查各库版本

3.6 常见问题与避坑

我整理了几个新手最容易踩的坑,你遇到了直接对照着看:

  • pip 版本太旧:装库前先升级 pip,pip install --upgrade pip。我遇到过因为 pip 版本低,装 whisper 一直失败的情况。
  • whisper 模型下载慢:第一次用 whisper 时会自动下载模型文件(几百 MB)。如果卡住,可以手动去 Hugging Face 下载,放到 ~/.cache/whisper/ 目录下。
  • edge-tts 需要网络:它调用的是微软 Edge 的在线接口,没网的时候会报错。离线场景下,建议用 pyttsx3 作为备选。
  • 麦克风权限:macOS 和 Windows 上,第一次用 PyAudio 录音时,系统会弹权限请求。记得点“允许”,不然录音一直是静音。

一句话总结:虚拟环境隔离项目,四个库各司其职,装完一定要验证。环境搭好了,后面写代码才安心。

可可精品资料库