使用 Anaconda Python 的 PyQt Windows 安装程序 - 未找到 PyQt4;如何进行故障排除?

Posted

技术标签:

【中文标题】使用 Anaconda Python 的 PyQt Windows 安装程序 - 未找到 PyQt4;如何进行故障排除?【英文标题】:PyQt Windows installer with Anaconda Python--PyQt4 not found; how do I troubleshoot? 【发布时间】:2015-08-31 20:15:46 【问题描述】:

注意:我第一次尝试提问时混淆了 PyQt 和 pyqt_fit。出于存档目的,我在下面保留了我的第一次尝试。很明显,PyQt 应该是 pyqt_fit 工作的先决条件。

我安装了 PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe,available here。我在 \Anaconda\pkgs 中看到 pyqt-4.10.4-py27_1.tar,如果我再次运行安装程序,它会告诉我它已安装。

不幸的是,iPython 似乎仍然没有找到它:

In [5]: from PyQt4 import QtCore, QtGui
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-5a7197379ef6> in <module>()
----> 1 from PyQt4 import QtCore, QtGui

ImportError: No module named PyQt4

如何解决为什么找不到这个问题?

系统规格

Python 2.7.9 :: Anaconda 2.2.0(64 位) 操作系统名称:Microsoft Windows 8.1 操作系统版本:6.3.9600 N/A Build 9600 操作系统配置:独立工作站 操作系统构建类型: 多处理器免费 系统制造商:Dell Inc. 系统型号:Inspiron 灵越 5547


第一次尝试提问

我安装了 PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe,available here,因为它会为我提供“PyQt4 开发所需的一切,Python 本身除外”。但是,我发现导入 pyqt_fit 和 pyqt_fit1d 给我的错误似乎与编译有关。

总结

我正在尝试通过 iPython 提示符和 iPython Notebook 导入这些内容,我预感他们正在查看一些不同的 pyqt* 实例,但我不知道如何确认这种直觉。

当我尝试导入 pyqt_fit 或 pyqt_fit1d 时,出现“DistutilsPlatformError:无法找到 vcvarsall.bat”。我安装了Microsoft Visual C++ Compiler for Python 2.7,并稍微破解了注册表,让它不会抱怨找不到 vcvarsall.bat,但编译仍然失败。

如果安装程序正常工作,似乎不需要在编译器级别工作。我不明白什么?

从 iPython 提示观察到的行为

键入“import pyqt[Tab]”只建议使用 pyqt_fit1d 和 pyqtconfig。

import pyqtconfig 失败并显示ImportError: No module named sipconfig。 (我相信这在我安装 VC++ 之前只能在 iPython 提示符下工作。)

import pyqt_fit1d 第一次使用ImportError: Building module pyqt_fit._kernels failed: ["CompileError: command 'C:\\\\Users\\\\&lt;username&gt;\\\\AppData\\\\Local\\\\Programs\\\\Common\\\Microsoft\\\\Visual C++ for Python\\\\9.0\\\\VC\\\\Bin\\\\amd64\\\\cl.exe' failed with exit status 2\n"] 失败。完成backtrace here。

在随后的尝试中,它在 C:\Anaconda\lib\site-packages\pyqt_fit__init__.py 中以 ImportError: cannot import name functions 失败。

import pyqt_fit 的行为完全相同。

从 iPython 笔记本观察到的行为

在新笔记本中键入“import pyqt[Tab]”只建议使用 pyqtconfig。

import pyqtconfig 得到 ImportError: No module named sipconfig,在 iPython 提示符下。

import pyqt_fit1d 失败并显示 ImportError: No module named pyqt_fit1d -- 注意与上述 iPython 提示的区别 import pyqt_fit 失败并出现相同的 ```ImportError: Building module pyqt_fit._kernels failed: ["CompileError: command 'C:\\Users\\\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' 失败,退出状态为 2\n"]

【问题讨论】:

你在 Anaconda\Lib\site-packages 中看到 PyQt4 文件夹吗? (我假设你没有使用 anaconda 的内置环境切换器?) 意识到尽管有警告,我仍可以重新运行安装程序,所以我这样做了,现在似乎导入了 PyQt4。 (不使用 Ananconda 环境切换器。) 但是,当安装程序提供卸载时,这似乎是一个完全的红鲱鱼。如果我取消选中每个框(“扩展模块”除外,它被禁用),它似乎只是在安装东西。如果我再次运行安装程序,我会收到关于它正在安装的相同消息。以备日后参考,如何卸载? 【参考方案1】:

pyqt_fit 似乎是一个完全独立的包,不由 PyQt 开发人员维护。

要使用 PyQt4,你想试试from PyQt4 import QtCore, QtGui。我怀疑你的 python 终端的自动完成只是不知道你安装的 PyQt 包。

【讨论】:

糟糕,忘记两者之间的区别真是令人尴尬。所以根本问题是,尽管安装,PyQt 似乎根本无法工作:ImportError: No module named PyQt4 我应该编辑我最初的问题吗?在 PyQt4(或 5)工作之前,AFAIK pyqt_fit 不应该工作。【参考方案2】:

如果你想安装PyQt4,你可以使用 anaconda 来安装。 1. 前往Anaconda-&gt; Environments 2. 您将获得已安装的模块列表。在变量窗口的搜索栏中输入PyQt 3. 从下拉列表中选择未安装 4. 从列表中单击anyqtpyqtgraph 5. 点击Apply

它会自动安装 PyQt,你不会得到这个错误:ImportError: No module named PyQt4

【讨论】:

以上是关于使用 Anaconda Python 的 PyQt Windows 安装程序 - 未找到 PyQt4;如何进行故障排除?的主要内容,如果未能解决你的问题,请参考以下文章

完美配置Python3.5+Anaconda+PyQt5,实现UI和其他模块的结合

Mac OS X Mavericks 上 PyQt5、Python3 和 Anaconda3 的问题

pyQt5新手教程 通过anaconda安装pyqt包

无法在 Windows 10 上的 python 3.6 64 位上运行 pyqt5(没有 anaconda 没有 virtualenv)

pycharm+anaconda+opencv+pyqt环境配置

Anaconda3使用matplotlib画图报错问题的解决方法