导入错误:没有系统模块'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:UsersvishaAppDataRoamingPythonPython39site-packagespyttsx3__init__.py", line 20, in init
eng = _activeEngines[driverName]
File "C:Program Files (x86)Pythonlibweakref.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:UsersvishaDocumentsPythonBasic.py", line 4, in <module>
engine=pyttsx3.init()
File "C:UsersvishaAppDataRoamingPythonPython39site-packagespyttsx3__init__.py", line 22, in init
eng = Engine(driverName, debug)
File "C:UsersvishaAppDataRoamingPythonPython39site-packagespyttsx3engine.py", line 30, in __init__       
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "C:UsersvishaAppDataRoamingPythonPython39site-packagespyttsx3driver.py", line 50, in __init__       
self._module = importlib.import_module(name)
File "C:Program Files (x86)Pythonlibimportlib__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:UsersvishaAppDataRoamingPythonPython39site-packagespyttsx3driverssapi5.py", line 10, in <module>
import pythoncom
File "C:UsersvishaAppDataRoamingPythonPython39site-packagespythoncom.py", line 2, in <module>
import pywintypes
File "C:UsersvishaAppDataRoamingPythonPython39site-packageswin32libpywintypes.py", line 105, in <module>
__import_pywin32_system_module__("pywintypes", globals())
File "C:UsersvishaAppDataRoamingPythonPython39site-packageswin32libpywintypes.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:UsersvishaDocumentsPython> ere

我是一个初学者,所以我没有太多的想法。提前感谢的帮助

在命令提示符下键入python -m site以获取站点包。现在导航到site-package文件夹并转到pywin32_system32以复制pythoncom39.dllpywintypes39.dll

导航回site-package文件夹一步,得到win32并粘贴文件。

尝试卸载pywin32并重新安装,适用于我的

尝试在顶部导入win32api,

import win32api
import speech_recognition as sr
import pyttsx3 

您评论说您放弃了正在进行的项目。但我想我无论如何都会为那些仍然会犯这个错误或将要犯这个错误的人回答。

我也有同样的问题,但我在网上找不到解决问题的方法。所以我决定阅读错误信息,并理解它所说的

请注意,错误所指的是File <path>

<path>C:UsersvishaAppDataRoamingPythonPython39site-packages...

在这个文件夹中,有一个名为pywin32_system32的目录。

这就是你要找的目录。问题是pypiwin32已经安装,但没有安装在它应该有的Python PATH中!

例如:

我的Python位置是C:Program FilesPython39

我在System Environment Variables中的Python路径设置为C:Program FilesPython39

当我运行命令pip install pypiwin32时,它安装在C:Users<user>AppDataRoamingPythonPython39site-packages上,这不是正确的目录。

目录中的pywin32_system32是您要查找的文件(pywintypes39.dll(。

**您所要做的就是从中复制pywin32_system32文件夹C:UsersvishaAppDataRoamingPythonPython39site-packages

<Python_PATH>site-packages**

(例如C:Program FilesPython39sitepackages。(

如果答案来得有点晚,我很抱歉!我希望我写的东西不会让人困惑,因为我尽力用简单的语言来解释。

pywintypes是Python for Windows扩展的一部分,或者它被称为pywin32,你需要安装它。我不确定它是否能工作,但你可以尝试这个pip install pypiwin32

即使这个问题已经得到了答案,我现在也有这个问题,并使用了DecodedIntel的答案,但即使它有效,在使用pip-install NewModule后,你也可以在未来看到另一个问题,有一种方法可以一劳永逸地解决它。

我的Python位置是C:\Program Files\Python39

我的PIP模块位置是C:\Users<用户>\AppData\Roaming\Python\Python39\站点包

要修复它,您可以使用Windows硬链接目录连接

使用/J创建指向目录的硬链接,也称为目录连接:

mklink/J链路目标

MSDOS MKLINK Cmd帮助描述

因此,例如,如果您想在C:\LinkToFolder中创建一个指向C:\Users\Name\OriginalFolder的目录连接(指向文件夹的硬链接(,您可以运行以下命令:

mklink/J C:\LinkToFolder C:\Users\Name\OriginalFolder

您需要在带有空格的路径周围加上引号。例如,如果文件夹名为C:\Link To Folder和C:\Users\Name\Original Folder,则应使用以下命令:

mklink/J";C: \链接到文件夹"quot;C: \用户\名称\原始文件夹">

如果您看到消息"您没有足够的权限执行此操作。",则在运行该命令之前,您需要以管理员身份启动命令提示符。

C: \Users\MyUserName\AppData\Roaming\Python>mklink/j Python39";C: \Program Files\Python39"为Python39<lt===>gt;C: \Program Files\Python39

遇到同样的问题时,我做了以下操作:当我们看到错误中的这些行时,

File "C:UsersvishaAppDataRoamingPythonPython39site-packageswin32libpywintypes.py", line 87, in __import_pywin32_system_module__
raise ImportError("No system module '%s' (%s)" % (modname, filename))
ImportError: No system module 'pywintypes' (pywintypes39.dll)

pywintypes.py正在C:UsersvishaAppDataRoamingPythonPython39site-packageswin32lib目录中搜索(pywintypes39.dll)文件,因此我将"pywin32_system32"文件夹中的两个文件"pythoncom39.dll"one_answers"pywintypes39.dll"复制到C:UsersvishaAppDataRoamingPythonPython39site-packageswin32lib目录中。它为我解决了问题。

C:\Users\lenevo\AppData\Roaming\Python\Python39\site packages\win32\lib。只需从lib文件夹中的"pywin32_system32"文件夹复制两个文件"pythoncom39.dll"one_answers"pywintypes39.dll";C: \Users\lenevo\AppData\Roaming\Python\Python39\site packages\win32\lib">

相关内容

  • 没有找到相关文章

最新更新