繁体   English   中英

使用py2exe和pyttsx将python脚本编译为exe时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM