Why PyQt5 import failed in Python3.4 with `ImportError: DLL load failed` in Windows 7?
Why PyQt5 import failed in Python3.4 with `ImportError: DLL load failed` in Windows 7?
我已经在 Windows7(64 位操作系统)中安装了 32 位Python2.7,我可以在没有任何错误。此外,我试图在同一个 Windows 7.
中安装 64 位 Python3.4 和 PyQt5
我按照 link 中给出的步骤进行操作:Verify PyQt5 Packages Installed。我已经安装了 64 位 版本的 Python3.4 和 PyQt5。正如给定的 link 中提到的,为了在我输入时验证安装: from PyQt5 import QtCore, QtGui, QtWidgets
我得到了这个错误:
ImportError: DLL load failed: %1 is not a valid Win32 application.
是否可能是 32 位 Python2.7 导致此错误消息?
我该如何解决这个问题?
提前致谢!
情况太复杂。你有 64 位 Windows,可以同时安装 64 位和 32 位软件。因此,您可以在两种变体中同时安装 2.x 和 3.x。对于每个 Python 安装,可能有 4 种类型的 PyQt 可用,4 和 5,32 位和 64 位版本。所以出错的可能性是2 * 4 * 4 * 2
= 64倍复杂。开个玩笑。
我们来看看错误:
ImportError: DLL load failed: %1 is not a valid Win32 application.
让我们分解一下:
ImportError:
我们遇到的错误性质与导入相关。 Python 无法加载指定的模块。让我们继续前进。
DLL load failed:
此消息或多或少表明模块是 .dll
文件的形式。
%1 is not a valid Win32 application.
此错误包含大部分信息。 %1
,更像是代表PyQt5的参数,不是有效的Win32应用程序。
通过查看错误可以看出,解释器正在寻找Win32应用程序,简单来说就是32位应用程序。但是为什么解释器需要一个 32 位的模块呢?猜测?因为解释器本身是32位的!
目前还不能说是Python3或Python2解释器,因为error只指定了32位或64位信息。但在你的情况下,它是你的 Python 2 解释器,因为它只是你系统上的 32 位解释器。
我已经在 Windows7(64 位操作系统)中安装了 32 位Python2.7,我可以在没有任何错误。此外,我试图在同一个 Windows 7.
中安装 64 位 Python3.4 和 PyQt5我按照 link 中给出的步骤进行操作:Verify PyQt5 Packages Installed。我已经安装了 64 位 版本的 Python3.4 和 PyQt5。正如给定的 link 中提到的,为了在我输入时验证安装: from PyQt5 import QtCore, QtGui, QtWidgets
我得到了这个错误:
ImportError: DLL load failed: %1 is not a valid Win32 application.
是否可能是 32 位 Python2.7 导致此错误消息?
我该如何解决这个问题?
提前致谢!
情况太复杂。你有 64 位 Windows,可以同时安装 64 位和 32 位软件。因此,您可以在两种变体中同时安装 2.x 和 3.x。对于每个 Python 安装,可能有 4 种类型的 PyQt 可用,4 和 5,32 位和 64 位版本。所以出错的可能性是2 * 4 * 4 * 2
= 64倍复杂。开个玩笑。
我们来看看错误:
ImportError: DLL load failed: %1 is not a valid Win32 application.
让我们分解一下:
ImportError:
我们遇到的错误性质与导入相关。 Python 无法加载指定的模块。让我们继续前进。DLL load failed:
此消息或多或少表明模块是.dll
文件的形式。%1 is not a valid Win32 application.
此错误包含大部分信息。%1
,更像是代表PyQt5的参数,不是有效的Win32应用程序。
通过查看错误可以看出,解释器正在寻找Win32应用程序,简单来说就是32位应用程序。但是为什么解释器需要一个 32 位的模块呢?猜测?因为解释器本身是32位的!
目前还不能说是Python3或Python2解释器,因为error只指定了32位或64位信息。但在你的情况下,它是你的 Python 2 解释器,因为它只是你系统上的 32 位解释器。