小能豆

Python pyttsx3“进程完成,退出代码为 139(interrupted by signal 11: SIGSEGV)' Error

python

我有一个使用pyttsx3的简单 Python 脚本:

import pyttsx3 as tts

engine = tts.init()
voices = engine.getProperty('voices')
engine.setProperty("voice", voices[1].id)
engine.say("Hello")
engine.runAndWait()

然而,当我运行它时,程序立即以这个错误结束: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV) 我的 MacBook 告诉我 Python 意外退出。

我使用的是 PyCharm 2022.2.2(社区版)。

我在网上查过,但没有一个解决方案对我有用。导致问题的行似乎是engine = tts.init(). 请帮我解决这个问题。先感谢您。


阅读 173

收藏
2023-06-01

共1个答案

小能豆

这个错误通常是由于 pyttsx3 库与特定的系统或环境不兼容导致的。有几个可能的解决方案可以尝试:

  1. 更新 pyttsx3 库:确保你使用的是最新版本的 pyttsx3 库。可以运行 pip install --upgrade pyttsx3 命令来升级到最新版本。
  2. 检查系统依赖项:pyttsx3 库可能需要一些系统依赖项才能正常工作。在 macOS 上,确保你已经安装了所需的语音合成引擎。你可以尝试安装 pyttsx3 的依赖项 pyobjc,它是在 macOS 上使用语音合成功能的必需组件。可以运行 pip install pyobjc 来安装它。
  3. 使用其他语音合成库:如果问题仍然存在,你可以尝试使用其他的语音合成库,例如 pyttsxgTTS,看看是否能够避免出现该错误。
  4. 检查操作系统和硬件兼容性:有时候特定的操作系统版本或硬件配置可能会导致 pyttsx3 库出现问题。确保你的操作系统和硬件满足 pyttsx3 的要求,并查阅 pyttsx3 的文档或社区支持来了解任何已知的兼容性问题。

如果上述解决方案都没有解决问题,建议尝试在其他环境或机器上运行你的脚本,以确定是否与特定的环境相关。另外,你还可以尝试使用其他的 Python 集成开发环境(IDE)或在命令行中运行脚本,以确定是否与 PyCharm 版本或设置有关。

2023-06-01