运行speech_recognition时遇ModuleNotFoundError:缺失distutils模块
解决speech_recognition报错ModuleNotFoundError: No module named 'distutils'
报错原因是distutils作为Python标准库的一部分,当前Python环境中缺失,而speech_recognition依赖它来校验PyAudio版本。以下是具体解决步骤:
1. Windows系统修复
- 找到Python安装程序(或重新下载对应版本的安装包),运行后选择「Modify」(修改)
- 在「Optional Features」界面,确保「Python distutils」选项被勾选,完成后续安装流程
2. Linux/macOS系统修复
根据系统包管理器执行对应命令:
- Debian/Ubuntu系:
sudo apt-get install python3-distutils - Fedora/RHEL系:
sudo dnf install python3-distutils - macOS(依赖Homebrew):
brew install python3-distutils
3. 虚拟环境场景修复
如果是在虚拟环境中出现问题,可能是创建环境时未继承系统site-packages:
- 重新创建虚拟环境时添加参数:
python -m venv 你的虚拟环境名 --system-site-packages - 或者激活虚拟环境后手动安装:
pip install distutils
4. 后续验证PyAudio安装
distutils问题解决后,需确保PyAudio正常工作:
- 直接通过pip安装:
pip install pyaudio - Windows下若pip安装失败,可下载对应Python版本的PyAudio wheel文件,本地执行安装:
pip install 下载的wheel文件名.whl
内容的提问来源于stack exchange,提问作者Shadab
相关产品推荐
相关产品推荐

