python - pyttsx3 无法在新安装的 Windows 10 上运行
问题描述
我刚刚安装了 Windows 10,我正在尝试运行以下代码。
import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait() ;
这用于我以前的 Windows 10 安装,但现在它给了我以下错误
Traceback (most recent call last):
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\pyttsx3\__init__.py", line 44, in init
eng = _activeEngines[driverName]
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\weakref.py", line 137, in __getitem__
o = self.data[key]()
KeyError: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/ayush/Desktop/sample.py", line 2, in <module>
engine = pyttsx3.init();
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\pyttsx3\__init__.py", line 46, in init
eng = Engine(driverName, debug)
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\pyttsx3\engine.py", line 52, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\pyttsx3\driver.py", line 75, in __init__
self._module = importlib.import_module(name)
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\pyttsx3\drivers\sapi5.py", line 3, in <module>
import win32com.client
File "C:\Users\ayush\AppData\Local\Programs\Python\Python36\lib\site-packages\win32com\__init__.py", line 5, in <module>
import win32api, sys, os
ImportError: DLL load failed: %1 is not a valid Win32 application.
我在 Windows 10 上使用 python 3.6.6 64 位。
我花了很多时间尝试不同的解决方案,例如重新安装 python,尝试了 python 版本 3.5 和 3.7,重新安装 pyttsx3,还尝试了一些相关问题中给出的解决方案,但没有任何效果。
提前致谢
解决方案
似乎win32api.pyd
(实际上是 DLL)不是一个 win32 应用程序。所以我认为它将 64 位驱动程序加载到 32 位运行时。
在这种情况下,我将尝试卸载 64 位 python,删除它的文件夹并安装 32 位版本。我相信这会解决您的问题,因为您实际上并不需要 64 位 python。
现在问题出在win32*.pyd
s 中,所以看起来你pyttsx3
是 32bit。
根据pypi.org,您可以尝试
pip install pypiwin32
修复win32和win32api错误。
推荐阅读
- javascript - 从坐标存储在缓冲区中的Javascript裁剪图像
- javascript - 无法在浏览器中调试 React+Typescript。JS文件未在输出目录中生成
- python - 编译以下opencv python源代码
- python - 我需要以维度方式计算数组的平均值
- javascript - 重叠命令?
- angular - 如何使“NativeScript Collapsing Header Plugin”与 Angular 一起工作
- php - GSM 调制解调器 SMS 发送错误:无法设置 com 端口
- angular - angular7中2个模块的声明错误
- c# - EF Core 2.2 多对多获取相关列表
- react-native - React Native:使用 react-native-fs 时出现异常