导入PyQt5

时间:2017-03-17 17:14:23

标签: python python-3.x dllimport pyqt5 importerror

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

我已使用命令

安装了pyqt5
pip3 install pyqt5
Successfully installed pyqt5-5.8.1

我的Python版本如下:

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

导入错误如下:

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.

谢谢&amp;此致

16 个答案:

答案 0 :(得分:22)

这是因为缺少Python3.dll(存根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目录旁边的python目录中。

3)享受QT工作

答案 1 :(得分:10)

我知道这个话题很旧,但是我在最新版本的PyQT 5.11中也遇到了这个问题,但我通过以下方式将其降级到5.9:

pip install PyQT5==5.9

它已经解决了这个问题。

答案 2 :(得分:5)

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

答案 3 :(得分:2)

我找到了另一种解决办法。

我使用的是virtualenv,因为PyCharm为我制作了一个,我不知道更好。我在那个virtualenv中安装了PyQt5。

我转而使用不使用virtualenv,并在全局Python目录中安装了PyQt5。修好了。

答案 4 :(得分:2)

我可以设法为我的 conda 环境修复它(conda 4.6.11,python 3.6) 我在这个问题上挣扎了很长时间,尝试了这里建议的所有修复。最后,我想通了!使用 connect(...) 代替 pip3 install(我的 conda 似乎表现不佳),即使在 conda 环境中也是如此(pip3,不仅仅是 pip,pip 对我不起作用)。

我是怎么发现的?我 conda install,它加载得很好,但是 DLL 加载失败的问题转移到了另一个库,比如 PIL,所以我用 pip3 安装了它,然后我不得不用 pip3 重新安装每个库,现在它可以工作了.

答案 5 :(得分:1)

就我而言,我有Windows 10 32位和Python 3.7.2。 使用通过pip安装的PyQt5 5.11,我收到此错误:

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.

我注意到版本5.11没有Qt DLL,因此我重新安装了带有 python -m pip uninstall PyQt5python -m pip install PyQt5==5.10

请不要使用--no-cache-dir,因为它会在安装whl文件时产生断言错误:

assert building_is_possible
assertion Error

我最终安装了5.10并出现以下错误:

qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

使用以下命令设置QT_DEBUG_PLUGINS甚至插件路径后:

set QT_DEBUG_PLUGINS=
set QT_PLUGIN_PATH=C:\Python37-32\Lib\site-packages\PyQt5\Qt\plugins

我意识到在正确的路径中搜索了dll qwindows.dll。

TL; DR:我用UAC海拔重新运行了我的python Qt脚本,并猜测了什么,它起作用了

答案 6 :(得分:1)

我有同样的问题。

问题是我的PySide2版本与PyQt5版本不同(PySide2:5.12,PyQt5:5.14)。我将PySide2升级到5.14,它对我有用。 (Python 3.6.5)

pip install PySide2==5.14

答案 7 :(得分:0)

在使用Python 3.6的Windows 10中,我通过以下步骤解决了该错误:

1)使用pip install pyqt5

安装PyQt5

2)如this Microsoft website中所述,我修改了Visual Studio 2017社区安装,启用了“ Python本机开发工具”

enter image description here

3)将python3.dllC:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64复制到C:\IntelPython3\Lib\site-packages\PyQt5(检查目录)

答案 8 :(得分:0)

您可以尝试从here下载64位Python安装程序(Windows x86-64可执行安装程序)。我正在使用PyQt5==5.10.1。解决我的问题。

答案 9 :(得分:0)

当您安装了PyQt5随附的Anaconda版本并且用pip安装的版本使该程序包黯然失色时,也会发生这种情况。卸载pip安装的版本可以解决我的问题。

答案 10 :(得分:0)

解决方案

  1. 关闭所有程序和编译器
  2. 打开Anaconda Navigator确保已安装pyqt和qtpy模块(可选qtawesome)
  3. 从Anaconda Navigator Home并启动VS代码,Jupyter您最喜欢的编辑器
  4. 运行程序!-

这不是永久性解决方案,但对我有用,希望它也对您有用@Miloslav Raus答案对我不起作用

答案 11 :(得分:0)

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

工作完美。希望它对某人有所帮助。

答案 12 :(得分:0)

更新2020-06

在带有闪亮的新Python 3.8 64和pipenv install pyside2的新生儿Windows 10 64 Pro上,我被诅咒了“ DLL加载失败”。经过双重验证的解决方案是对 Microsoft Visual C ++运行时的低估了依赖性。 https://aka.ms/vs/16/release/vc_redist.x64.exe

上有一个万无一失的安装程序

安装运行系统后,版本5.13到5.15即可使用。

干杯!

答案 13 :(得分:0)

如果您尝试了以上所有/大部分方法,但仍然无处可去。这是解决方案。

首先通过检查PyQt5路径排除虚拟环境问题。 打开一个 Windows 终端,然后在下面输入

python
import PyQt5
PyQt5.__file__

现在您已经看到了默认 python 识别的 PyQt5 路径(在 __init__.py 之前),在文件浏览器中检查它,您应该找到 PyQt5 目录。没事,DLL导入错误不是这个问题造成的!

如果 DLL 无法导入问题仍然存在,那是因为您的 Windows 缺乏更高的 Visual C++ 运行环境。是的,PyQt5 for Windows 基于 Visual C++ 2015-2019 构建。只需将该补丁下载并安装到您的 Windows 并重新启动,问题就解决了。

答案 14 :(得分:0)

在 Windows 10 中,它是内置的 python 3.7。而且看起来太简约了。

尝试卸载它并从 python.org 安装 python3

那么你应该为新的python重新安装pyqt5。

答案 15 :(得分:-1)

我在这里和其他地方都尝试过所有解决方案,但是其中任何一个都不适合我。对我有用的解决方案是安装更新的Python版本