导入 win32api 时如何修复“ImportError:DLL 加载失败”

新手上路,请多包涵

我在 Python 3.8 中设置了一个自动点击器,我需要 win32api 用于 GetAsyncKeyState 但它总是给我这个错误:

 >>> import win32api
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing win32api: The specified module could not be found.

我在 Windows 10 家庭版 64x 上。我已经试过了

pip install pypiwin32

它成功安装但没有任何变化。我也尝试卸载并重新安装 python。我也尝试以同样的方式安装“django”,当我 import django 时它确实有效,所以我认为这只是一个 win32api 问题。

 >>> import win32api

我希望输出没有,但实际输出总是那个错误^^

原文由 Glxce 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

在管理员命令提示符下运行 Scripts\pywin32_postinstall.py -install

参考: https ://github.com/mhammond/pywin32/issues/1431

编辑:用户@JoyfulPanda 发出警告:

以管理员权限运行此脚本还会将 pythoncom37.dll、pywintypes37.dll(对应于 pywin32 版本)复制到 C:\WINDOWS\system32 中,这会有效地覆盖 Anaconda 中已有的相应 DLL 版本。这稍后会在打开(在 Windows 上)“开始菜单 > Anaconda3(64 位)> Anaconda Prompt (a_virtual_env_name)”时导致问题。至少Anaconda 2019.07默认安装了pywin32 223。 Pywin32 224 可能有效,但 225-228 会导致 Anaconda (2019.07) 出现问题

原文由 José 发布,翻译遵循 CC BY-SA 4.0 许可协议

解决了

如果您在 conda 环境中的 miniconda 中工作。您可以使用 conda 而不是 pip 安装 pywin32。

这解决了我的问题:

 conda install pywin32

原文由 Janzaib M Baloch 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题