9

在 OSX 10.9 上,我安装了 Qt5。后来我安装了 Ipython、sip 和 PyQt5,它们都是从源代码构建的。现在问题来了:当我尝试运行时ipython qtconsole,我遇到了一堆与此目录(及其子文件夹)中的文件相关的错误

/Library/Python/2.7/site-packages/IPython/

其次是

ImportError:
   Could not load requested Qt binding. Please ensure that
   PyQt4 >= 4.7 or PySide >= 1.0.3 is available,
   and only one is imported per session.

   Currently-imported Qt library:   None
   PyQt4 installed:                 False
   PySide >= 1.0.3 installed:       False
   Tried to load:                   ['pyside', 'pyqt']

我认为问题是我有 PyQt5 而不是 PyQt4。这是问题还是我错过了其他事情?

无论如何,我可以使用 PyQt5 使用 qtconsole 吗?如果没有,最简单的方法是什么?(最好是一种不涉及在一台机器上拥有两个版本的 Qt 库的方法)。


为简洁起见,我跳过发布完整的错误消息。请让我知道是否应该添加它们以更好地了解情况。

4

4 回答 4

4

问题可能与您的 python 路径有关。

我遇到了几乎完全相同的问题。我已经使用安装了 PyQt,Homebrew并且收到了相同的错误消息。最后解决问题的方法是将以下行添加到我的.bash_profile

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

由于我自己是初学者,因此我无法为您提供进一步的帮助,但我希望这可以解决问题。

于 2014-06-24T23:23:56.587 回答
3

我知道这真的很老了,但我最近在设置 PyQt5 时遇到了麻烦。

问题是PyQt5会安装,但某些子模块不会。例如尝试

import PyQt5 #works
from PyQt5 import * # might fail

如果第二个命令失败,那么您的 PyQt5 设置有问题,您需要关注这一点。

具体来说,ipython+qt 会尝试导入以下内容

from PyQt5 import QtCore, QtSvg, QtWidgets, QtGui

如果这些子模块中的任何一个被损坏/丢失,qt 控制台启动将悄悄地失败。

对我来说,事实证明PyQt5 安装程序无法进行QtSvg绑定,ipython 试图从 PyQt5 加载。当您运行 时configure.py,使用该-w选项,您将看到构建的所有详细信息,从而使您能够查明安装失败的位置。

就我而言,稍微搜索了一下,我发现我错过了QtSvg lib,它可以很容易地从 repos 中提取出来。

于 2016-01-26T20:38:02.283 回答
1

设置环境变量 QT_API=pyqt5 为我解决了同样的问题。

于 2015-01-31T11:42:54.603 回答
1

我遇到了同样的问题,尽管包含最新brew的(以及and )。因此,如果它以前不能与 PyQt5 一起使用,那么现在可以了。ipythonImportErrorPyQt5PyQt4PySide

添加正确PYTHONPATH的为.bash_profile我修复它,即使在我的virtualenv. (我没有对oxtay的回答进行投票或评论的声誉,这会更合适......)

于 2015-02-03T20:47:03.413 回答