树莓派3运行含gTTS的Python脚本遇ModuleNotFoundError求助
问题解决:gTTS模块导入失败及MP3播放噪音问题
一、解决ModuleNotFoundError: No module named 'gtts'
1. 强制脚本使用Python3解释器
终端中python3能正常导入gTTS,但脚本运行失败,核心原因是脚本默认调用了未安装gTTS的Python版本(比如系统自带的Python2)。
- 在脚本最顶部添加shebang行,指定使用Python3:
#!/usr/bin/env python3 import os from gtts import gTTS # ... 剩余代码 - 直接用
python3 your_script.py命令运行脚本(优先推荐这种方式,避免权限或解释器匹配问题)。
2. 验证Python解释器一致性
- 终端执行
which python3,得到当前可用的Python3路径(例如/usr/bin/python3)。 - 在脚本中添加以下代码并运行,对比输出路径是否和上面一致:
import sys print(sys.executable)
若路径不一致,说明脚本调用了其他Python解释器,需用正确路径执行脚本,比如/usr/bin/python3 your_script.py。
3. 确保pip3与Python3.9匹配
执行pip3 --version,查看输出中关联的Python版本是否为3.9.2,示例输出:
pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9)
若版本不匹配,用python3 -m pip install gtts重新安装,确保模块安装到Python3.9的环境中。
4. 修正脚本代码错误
你的脚本存在两处语法错误:
audio_created = gtts(...)需改为audio_created = gTTS(...)(gTTS类名大小写敏感)os.system(f'start {filename})缺少闭合引号,修正为os.system(f'start {filename}')
二、解决aplay播放MP3有噪音的问题
aplay默认仅支持WAV格式,直接播放MP3会因格式不兼容产生噪音,可通过以下方式解决:
- 安装支持MP3的播放器(如mplayer):
sudo apt install mplayer mplayer hello.mp3 - 用ffmpeg将MP3转成WAV后播放:
sudo apt install ffmpeg ffmpeg -i hello.mp3 hello.wav aplay hello.wav
内容的提问来源于stack exchange,提问作者Deerdre
相关产品推荐
相关产品推荐

