Ошибка win32com с cx_freeze и pyttsx

Привет, ребята, есть программное обеспечение Python, которое я хочу заморозить для распространения. Проблема в том, что после замораживания с помощью cx_freeze и его запуска, на моем компьютере разработки (win 7) он работает нормально, но когда я отправил его на свой тестовый компьютер (windows XP sp3 32bit), он выдает мне эту ошибку

Traceback(mostresent call last):
File "C:Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line27, in <module?
File "timeTracker.py", line 555, in <module>
File "timeTracker.py", line 381, in __init__
File "timeTracker.py", line 427, in runTimeThread
File "timeTracker.py", line 494, in __init__
File "timeTracker.py", line 118, in __init__
File "C:Python27\lib\site-packages\pyttsx1.1-py2.7.egg\pyttsx\__init__.py", line 39, in init
File "C:Python27\lib\site-packages\pyttsx1.1-py2.7.egg\pyttsx\engine.py", line 45, in __init__
File "C:Python27\lib\site-packages\pyttsx1.1-py2.7.egg\pyttsx\driver.py", line 66, in __init__
File "C:Python27\lib\site-packages\pyttsx1.1-py2.7.egg\pyttsx\drivers\sapi5.py", line 37, in buildDriver
File "C:Python27\lib\site-packages\pyttsx1.1-py2.7.egg\pyttsx\drivers\sapi5.py", line 46, in __init__
File "C:Python27\lib\site-packages\win32com\client\__init__.py", line 317, in WithEvents
AttributeError: 'NoneType' object has no attribute 'CLSID'

это мой setup.py

import sys
from cx_Freeze import setup, Executable
includes =['atexit']
packages = ['pyttsx','win32com.server','win32com.client']
base = None
if sys.platform == "win32":
    base = "Win32GUI"
setup(
        name = "timeTracker",
        version = "1.0.0",
        description = "Keep track of your time take control of your life",
        options = {"build_exe" : {"includes" : includes, "packages": packages }},
        executables = [Executable("timeTracker.py", base = base)])

в setup.py я попытался добавить 'win32com.gen_py' в список пакетов, но получил ошибку

No module call 'win32com.gen_py'

1 ответ

Кажется, что у pyttsx есть проблема, когда дело доходит до окна XP. После тщательного тестирования поиска я прихожу к выводу, что у окна XP нет никакого теста для речевого движка, поэтому Pyttsx не удалось

Я предлагаю вам использовать pyttsx3. Это быстрее, проще в программировании и работает со всеми устройствами, если вы измените голосовой движок, чтобы он соответствовал компьютеру, который вы используете, например sapi 5 для Windows 10.

Другие вопросы по тегам