导入PyQt5时DLL加载失败

gdR*_*Row 20 python dllimport importerror python-3.x pyqt5

我在Windows平台上安装了PyQt5并获得了importError:DLL加载失败.

我已经使用命令安装了pyqt5

pip3 install pyqt5
Successfully installed pyqt5-5.8.1
Run Code Online (Sandbox Code Playgroud)

我的Python版本如下:

Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Run Code Online (Sandbox Code Playgroud)

导入错误如下:

from PyQt5.QtWidgets import QApplication
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

感谢和问候

Mil*_*aus 23

这是因为缺少Python3.dll(stub dll,重新导出Python3x.dll函数,因此一个版本的扩展可以适用于多个版本的python).

如果您的Python发行版没有捆绑python3.dll,您可以尝试使用WinPython(https://winpython.github.io/).

至少2017/04/01版本应该有它.

1)下载WinPython('零'版本足够;必须相同"主版本" - 3.5/3.6 - 和"位数" - 32/64 - 作为你的Python !!!).

2)解压缩到某个临时目录,取python3.dll并将其粘贴到python目录旁边的python3x.dll中.

3)享受QT工作

  • 用PyQt5和virtualenv(windows)解决了我的问题 - 使用python3.5安装中的python3.dll(从c:\ python35复制到virtualenv\scripts\python3.dll解决了这个问题) (3认同)

Lem*_*ned 10

我知道这个话题已经过时了但是我最新版本的PyQT 5.11也遇到了这个问题,但是我通过以下方式将它降级为5.9.

pip install PyQT5==5.9
Run Code Online (Sandbox Code Playgroud)

它解决了这个问题.


And*_*eKR 5

如果创建了virtualenv,请检查是否已将其python3.dll复制到该Scriptsvirtualenv 的目录中。仅复制了机会python35.dll(或python36.dll,等等,具体取决于Python版本),在这种情况下,您将得到所得到的错误。


Muj*_*que 5

有时答案很简单。经历了很多头痛,因为在重新启动计算机之前应用程序运行顺利。然而,我只是对自己说,也许Windows就是无法加载DLL模块?于是我又重新启动了电脑,再次运行。

效果很好。