You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python pyttsx3报错:无法从AppKit导入objc,求调试方法

解决pyttsx3中ImportError: cannot import name 'objc' from 'AppKit'问题

问题重现

报错文件路径:/你的虚拟环境路径/venv/lib/python3.10/site-packages/pyttsx3/drivers/nsss.py第4行
错误信息:

ImportError: cannot import name 'objc' from 'AppKit'

涉及代码片段:

from Foundation import NSObject
from AppKit import NSSpeechSynthesizer, objc
from PyObjCTools import AppHelper

# 后续类定义...

解决方案

步骤1:修正导入语句

打开上述报错的nsss.py文件,将第4行的导入代码拆分:
原代码:

from AppKit import NSSpeechSynthesizer, objc

修改为:

import objc
from AppKit import NSSpeechSynthesizer

步骤2:确保依赖包完整

如果修改后仍有问题,确认已安装PyObjC相关依赖:

pip install pyobjc-core pyobjc-framework-AppKit

原因分析

objc是PyObjC框架的核心模块,负责Python与Objective-C的桥接,并不属于AppKit包。AppKit仅提供macOS系统的UI及语音合成类(如NSSpeechSynthesizer),因此直接从AppKit导入objc会触发导入错误。

验证测试

运行以下简单代码验证修复效果:

import pyttsx3
engine = pyttsx3.init()
engine.say("修复成功,测试语音输出")
engine.runAndWait()

内容的提问来源于stack exchange,提问作者fvwjkbf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:16:00