如何解决导入错误:没有系统模块 'pywintypes' (pywintypes39.dll)
我正在用 python 制作虚拟助手,但看到以下错误。
ImportError: No system module 'pywintypes' (pywintypes39.dll)
我使用的是 Windows 10 和 Python 3.9
这是代码
import speech_recognition as sr
import pyttsx3
listner=sr.Recognizer()
engine=pyttsx3.init()
engine.say('Hello Vishal. I am Cisco')
engine.say('What do you want me to do?')
engine.runAndWait()
try:
with sr.Microphone() as source:
print('listening...')
voice=listner.listen(source)
command = listner.recognize_google(voice)
command=command.lower()
if "cisco" in command:
print(command)
except:
print('Something went wrong')
当我运行这个程序时,控制台也会打印:
enter code hraceback (most recent call last):
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pyttsx3\__init__.py",line 20,in init
eng = _activeEngines[driverName]
File "C:\Program Files (x86)\Python\lib\weakref.py",line 134,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\visha\Documents\Python\Basic.py",line 4,in <module>
engine=pyttsx3.init()
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pyttsx3\__init__.py",line 22,in init
eng = Engine(driverName,debug)
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pyttsx3\engine.py",line 30,in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self),driverName,debug)
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pyttsx3\driver.py",line 50,in __init__
self._module = importlib.import_module(name)
File "C:\Program Files (x86)\Python\lib\importlib\__init__.py",line 127,in import_module
return _bootstrap._gcd_import(name[level:],package,level)
File "<frozen importlib._bootstrap>",line 1030,in _gcd_import
File "<frozen importlib._bootstrap>",line 1007,in _find_and_load
File "<frozen importlib._bootstrap>",line 986,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 680,in _load_unlocked
File "<frozen importlib._bootstrap_external>",line 790,in exec_module
File "<frozen importlib._bootstrap>",line 228,in _call_with_frames_removed
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pyttsx3\drivers\sapi5.py",line 10,in <module>
import pythoncom
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\pythoncom.py",line 2,in <module>
import pywintypes
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\win32\lib\pywintypes.py",line 105,in <module>
__import_pywin32_system_module__("pywintypes",globals())
File "C:\Users\visha\AppData\Roaming\Python\python39\site-packages\win32\lib\pywintypes.py",line 87,in __import_pywin32_system_module__
raise ImportError("No system module '%s' (%s)" % (modname,filename))
ImportError: No system module 'pywintypes' (pywintypes39.dll)
PS C:\Users\visha\Documents\Python> ere
我是初学者,所以我没有太多想法。 预先感谢您的帮助
解决方法
在命令提示符下键入 python -m site
以获取站点包。
现在导航到 site-package
文件夹并转到 pywin32_system32
以复制 pythoncom39.dll
和 pywintypes39.dll
导航一步回到 site-package
文件夹并获得 win32
并粘贴文件。
你评论说你放弃了你正在处理的项目。 但我想我还是会回答那些仍然会出现此错误或将要出现此错误的人。
我遇到了同样的问题,但我无法在网上找到该问题的解决方案。 所以我决定阅读错误信息并理解它说的是什么
注意 File <path>
错误所指。
<path>
是 C:\Users\visha\AppData\Roaming\Python\Python39\site-packages\...
。
在此文件夹中,有一个名为 pywin32_system32
的目录。
这就是您要查找的目录。 问题是 pypiwin32 已安装,但不在它应有的 Python PATH 中!
例如:
我的 Python 位置是 C:\Program Files\Python39
我在 System Environment Variables
中的 Python 路径设置为 C:\Program Files\Python39
当我运行命令 pip install pypiwin32
时,它安装在 C:\Users\<user>\AppData\Roaming\Python\Python39\site-packages
上,这不是正确的目录。
在目录 pywin32_system32
中,是您要查找的文件 (pywintypes39.dll
)。
**您所要做的就是将 pywin32_system32
文件夹从
C:\Users\visha\AppData\Roaming\Python\Python39\site-packages\
到
<Python_PATH>\site-packages\
**
(例如C:\Program Files\Python39\sitepackages\
。)
对不起,如果答案来得太晚了! 我希望我写的不会让人困惑,因为我已经尽力用简单的语言来解释了。
,尝试卸载pywin32并重新安装,对我有用
,pywintypes
是 Python for Windows 扩展的一部分,或者它被称为 pywin32,您需要安装它。我不确定它会起作用,但你可以试试这个 pip install pypiwin32
。
即使你已经回答了这个问题,我现在也遇到了这个问题并使用了来自 DecodedIntel 的答案,但即使它有效,在使用 pip install NewModule 之后你也可以在未来看到另一个问题,并且有一种方法可以修复它一次和所有人。
我的 Python 位置是 C:\Program Files\Python39
我的 PIP 模块位置是 C:\Users
要修复它,您可以使用 Windows HARD LINK Directory JUNCTION
使用 /J 创建指向目录的硬链接,也称为目录联结:
mklink /J 链接目标
MSDOS MKLINK Cmd help description
因此,例如,如果您想在指向 C:\Users\Name\OriginalFolder 的 C:\LinkToFolder 创建一个目录连接(一个文件夹的硬链接),您可以运行以下命令:
mklink /J C:\LinkToFolder C:\Users\Name\OriginalFolder
您需要在带有空格的路径周围加上引号。例如,如果文件夹改为命名为 C:\Link To Folder 和 C:\Users\Name\Original Folder,则应使用以下命令:
mklink /J "C:\Link To Folder" "C:\Users\Name\Original Folder"
如果您看到消息“您没有足够的权限来执行此操作。”,您需要在运行命令之前以管理员身份启动命令提示符。
C:\Users\MyUserName\AppData\Roaming\Python>mklink /j Python39 "C:\Program Files\Python39" 为 Python39 创建的连接 > C:\Program Files\Python39
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。