我已经在 Windows 7(64 位操作系统)中安装了 32 位 Python2.7,并且我可以使用它,不会出现任何错误。此外,我尝试在同一个Windows 7中安装64位Python3.4和PyQt5。
我按照此链接中给出的步骤进行操作:Verify PyQt5 Packages Installed 。我已经安装了64位版本的Python3.4和PyQt5。如给定链接中所述,为了验证安装,当我键入: 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 加载失败:
此消息或多或少表明该模块采用.dll
文件形式。%1 不是有效的 Win32 应用程序。
此错误包含大部分信息。%1
,它更像是代表 PyQt5 的参数,不是有效的 Win32 应用程序。
通过查看错误,可以看出解释器正在寻找Win32应用程序,简单来说就是32位应用程序。但为什么解释器需要 32 位模块呢?猜测?因为解释器本身就是32位的!
还不能说它是Python3或Python2解释器,因为错误仅指定32或64位信息。但在您的情况下,它是您的 Python 2 解释器,因为它只是您系统上的 32 位解释器。
关于python - 为什么 PyQt5 在 Windows 7 中的 Python3.4 中导入失败并显示 `ImportError: DLL load failed`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692066/