使用PyQt5设置IPython Qtconsole

时间:2014-06-20 09:57:31

标签: python macos pyqt ipython qtconsole

在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 个答案:

答案 0 :(得分:3)

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

我几乎遇到了同样的问题。我使用Homebrew安装了PyQt,我得到了相同的错误消息。最后解决问题的是将以下行添加到我的.bash_profile

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

由于我自己是初学者,我无法帮助你,但我希望这能解决问题。

答案 1 :(得分:2)

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

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

import PyQt5 #works
from PyQt5 import * # might fail

如果第二个命令失败,那么PyQt5设置就会出现问题,你需要关注它。

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

from PyQt5 import QtCore, QtSvg, QtWidgets, QtGui

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

对我来说,事实证明PyQt5 installer未能进行QtSvg绑定,ipython尝试从PyQt5加载。运行configure.py时,使用-w选项,您将看到构建的所有详细信息,从而可以确定安装失败的位置。

在我的情况下,有点谷歌搜索,我发现我错过了QtSvg lib,可以从回购处轻松拉入。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我遇到了同样的问题,但最近的brew ipython ImportError包括PyQt5 PyQt4以及PySide })。因此,如果它之前不能与PyQt5一起使用,它现在就可以了。

PYTHONPATH添加到.bash_profile为我修复,即使在我的virtualenv中也是如此。 (我不赞成对oxtay的答案进行投票或评论,这样会更合适......)