【问题标题】:Cannot import PyQt4.QtGui无法导入 PyQt4.QtGui
【发布时间】:2011-02-13 21:31:31
【问题描述】:

我安装了一个可以运行的 Python 2.6,并且刚刚安装了为 Python 2.6 构建的 PyQt4(可在 http://www.riverbankcomputing.co.uk/software/pyqt/download 获得)。当我尝试导入 PyQt4.QtGui 时出现以下错误:

ImportError: DLL load failed: The specified procedure could not be found.

我在 Windows 2k8 64 位,但我的 Python 安装是 32 位。

【问题讨论】:

    标签: python qt pyqt4


    【解决方案1】:

    将包含 Qt 应用程序和 DLL 的 PyQt4 目录添加到您的 PATH 环境变量中。在 PowerShell 中,如果您没有更改任何安装路径,那将是

    $env:path += ';C:\Python26\Lib\site-packages\PyQt4\bin'
    

    【讨论】:

    • 对于 Anaconda 发行版,将“C:\Anaconda\Library\bin”(修改以适合您的 Anaconda 位置)放在 PATH env 的开头。变量。
    • 设置了路径还是不行怎么办?还是说ImportError: DLL load failed: The specified procedure could not be found.
    【解决方案2】:

    我在另一个对我有用的论坛上找到了解决方案。我需要将 QtGui4.dll 和 QtCore4.dll 复制到 ...\Python2.7.1\Lib\site-packages\PyQt4 目录中。请注意,我将原件留在了 bin 目录中。

    【讨论】:

    • 这个解决方案适用于我与 Anaconda / Python 3.5 和 PyQt4 一起安装的 conda
    【解决方案3】:

    我从.whl 文件(来自unofficial windows binaries)安装了PyQt4,得到了同样的错误。

    我按照答案的建议做了:检查我是否安装了正确的版本,将我的 PyQt4 目录放在PATH 环境变量中,并有QtCore4.dllQtGui4.dll,但是这些都不起作用。

    答案是尝试打开designer.exe程序:它也有错误,但这次指定缺少哪个DLL文件(它说msvcp140.dll is missing from your computer

    然后我从dll-files.com 下载它并将其放入 PyQt4 文件夹 (C:\Python35\Lib\site-packages\PyQt4) 并且它工作。

    我希望这会有所帮助!

    【讨论】:

    • 亲爱的上帝...没有别的,但这个工作。在您的解决方案/建议有效之前,我正好经历了 13 个其他解决方案/建议。只是展示了额外答案的价值。
    【解决方案4】:

    您确定安装了 Python x64 吗?默认情况下,Python网站让你下载x32版本,你需要到这个页面下载x64版本,然后它才能工作。我有同样的问题,它是通过这种方式解决的。 https://www.python.org/downloads/windows/

    希望这对某人有所帮助。 干杯, 克里斯

    【讨论】:

      【解决方案5】:

      如果这不起作用,请尝试在 PATH 环境变量中设置的路径中搜索 QtCore4.dll、QtGui4.dll 等。就我而言,我在 c:\windows\system32 中发现了一些 qt dll,导致了相同的错误消息。我已经删除了dll文件,问题解决了。 'C:\Python26\Lib\site-packages\PyQt4\bin' 在我的路径中,但这还不够。

      【讨论】:

        【解决方案6】:

        这些解决方案都不适合我。我在 Windows 7 x64 上安装了 Python 3.1 x64 和 PyQt 4.8.2-1 x64,但是卸载它们并安装 x86 版本的 Python 3.1 和 PyQt 为我解决了这个问题。

        【讨论】:

        • 好的,谢谢分享!希望它对我有用,因为上面的所有建议都没有。
        【解决方案7】:

        http://www.dependencywalker.com下载程序,看看是否缺少dll。

        您需要将程序指向 PyQt 中的 QtGui.pyd 文件。

        我的案例是使用 MSYS2 的 mingw-w64-x86_64-python3-pyqt4,它需要 libpython3.5m.dll 而 pacman 已经在 python3.6

        【讨论】:

          【解决方案8】:

          我使用Linux ubuntu 14.04,首先,无法导入PyQt4.QtGui,因为访问模块PyQt4在组权限中不可用.. 如果调用解释器:shell>> python 不可用模块 QtGui,但如果我调用解释器 sudo python 可用 QtGui。所以,我解决了这个错误,Change permisions folder package PyQt4 in my virtualenv,from property folder,change Owner and Group

          它对我有用:)

          【讨论】:

            【解决方案9】:

            这些解决方案都不适用于 64 位 Python 3.5。我最终将 Anaconda 回滚到 4.1.1(4.2.0 默认使用 Qt5,这可能是也可能不是问题)。我还必须从 python 3.5 whl - http://www.lfd.uci.edu/%7Egohlke/pythonlibs/#pyqt4 安装 pyqt。

            Riverbank 网站上的二进制文件对我不起作用,可能它只适用于 Python 3.4?

            我已经多次使用 Anaconda 安装 pyqt,我相信如果正确完成,PATH 不需要修改(它作为安装的一部分发生)并且不需要复制 DLL。

            【讨论】:

              【解决方案10】:

              您确认 PyQt4 是 32 位还是 64 位?,我遇到了同样的问题,我在 Windows 10 和 PyQt4 4.11 64 位中使用 python 2.7.13 32 位,并将 PyQt4 更改为 32 位,它立即工作.

              【讨论】:

                猜你喜欢
                • 2018-01-15
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2023-03-15
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多