微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

导入错误:没有系统模块 'pywintypes' (pywintypes39.dll)

如何解决导入错误:没有系统模块 '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.dllpywintypes39.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\AppData\Roaming\Python\Python39\site-packages

要修复它,您可以使用 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 举报,一经查实,本站将立刻删除。