为什么在Python3.4中PyQt5导入失败,并在Windows 7中出现“导入错误:DLL加载失败”的问题?

发布于 2021-01-29 15:02:21

我已经在Windows 7(64位操作系统)中安装了 32位 Python2.7,并且可以正常使用它。此外,我尝试在同一Windows 7中安装
64位 Python3.4和PyQt5。

我按照此链接中给出的步骤进行操作:验证已安装PyQt5软件包。我已经安装了Python3.4和PyQt5的
64位 版本。如给定链接中所述,为了在键入时验证安装:from PyQt5 import QtCore, QtGui, QtWidgets我收到此错误:

ImportError:DLL加载失败:%1不是有效的Win32应用程序。

32位Python2.7是否有可能导致此错误消息?

我该如何解决这个问题?

提前致谢!

关注者
0
被浏览
171
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    情况太复杂。您有64位Windows,可以同时安装64位和32位软件。因此,您可以在两个版本中都安装2.x和3.x。对于每个Python安装,可能有4种类型的PyQt,分别为32和64位版本的4和5。因此,出错的可能性为2 * 4 * 4 * 264倍。开玩笑。

    让我们看一下错误:

    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解释器,因为错误仅指定32或64位信息。但是在您的情况下,它是您的Python
    2解释器,因为它只是系统上的32位解释器。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看