[英]Compiling error for python script to exe using py2exe and pyttsx
我有一个我制作的 python 脚本,它使用 pyttsx 进行文本到语音输出。 每当我使用 py2exe 将其转换为 exe 并尝试运行该 exe 时,我都会收到以下错误:
Traceback (most recent call last):
File "main.py", line 8, in <module>
File "pyttsx\__init__.pyc", line 39, in init
File "pyttsx\engine.pyc", line 45, in __init__
File "pyttsx\driver.pyc", line 66, in __init__
File "pyttsx\drivers\sapi5.pyc", line 37, in buildDriver
File "pyttsx\drivers\sapi5.pyc", line 46, in __init__
File "win32com\client\__init__.pyc", line 317, in WithEv
AttributeError: 'NoneType' object has no attribute 'CLSID'
这是我的 setup.py 的副本:
from distutils.core import setup
import py2exe
setup(
console=['main.py'],
options = {
"py2exe":{
"includes":[
'pyttsx.drivers.sapi5'
]
}
}
)
YEY - 我成功了!
from distutils.core import setup
import py2exe
py2exe_options = { 'includes': ['pyttsx.drivers.sapi5', 'win32com.gen_py.C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4'],
'typelibs': [('{C866CA3A-32F7-11D2-9602-00C04F8EE628}', 0, 5, 4)] }
setup(console=['main.py'], options = {'py2exe': py2exe_options})
请注意,这要求您在两台机器上运行相同的版本(在我的情况下为 v5.4)。 如果你想规避你可能需要尝试更高级的东西。
您应该尝试使用 pyttsx3 运行并使用系统的文本到语音 api,例如 sapi 5 for windows。 它更快,更近。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.