使用 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\\\\<username>\\\\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-> Environments
2. 您将获得已安装的模块列表。在变量窗口的搜索栏中输入PyQt
3. 从下拉列表中选择未安装
4. 从列表中单击anyqt
和pyqtgraph
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 的问题
无法在 Windows 10 上的 python 3.6 64 位上运行 pyqt5(没有 anaconda 没有 virtualenv)