真的在可信赖的python 3.4上安装PyQt4 / 5
我在我的ubuntu 14.04.2(可靠)上使用Python 3,以及Python 2.我正在尝试运行ipython --pylab
,但是使用Python 3,这会失败(适用于Python 2)。 它失败了,因为它需要QT4 / 5或PySide。
我无法安装PySide ,但我可以轻松安装PyQt4
sudo aptitude install python3-pyqt4 python3-pyqt5
但是,这似乎没有做到这一点。 ipython --pylab
的输出是
ImportError: cannot import name 'QtCore'
尝试从PyQt5
导入QtCore
后, matplotlib
抛出该错误。 有趣的是,即使PyQt5被清除它也会完全失败(但是错误No module named
PyQt5`)
matplotlib
或python3-pyqt4/5
软件包有什么问题吗? 有可能python-pyqt4/5
甚至不支持python3.4
吗?
更新
在清除python3-pyqt4
和python3-pyqt5
并安装python3-pyside
, ipython
在ipython
运行良好。 这是在我链接的SO问题中记录的。
现在,在安装了pyside
,我再次安装了python3-pyqt5
以回答评论中的问题,现在QtCore
已正确导入(在python
和ipython
),但是pylab
不再工作了。
但是,错误有很大不同:
ImportError: Could not load requested Qt binding. Please ensure that PyQt4 >= 4.7, PyQt5 or PySide >= 1.0.3 is available, and only one is imported per session. Currently-imported Qt library: 'pyqt5' PyQt4 installed: False PyQt5 installed: False PySide >= 1.0.3 installed: True Tried to load: ['pyqt5']
现在,从ipython
控制台中再次输入%pylab
。 这是一种非常奇怪的行为。
更新(2)
似乎没有ubuntu软件包python3-pyqt5
实际上并不起作用。 我可以运行ipython --pylab
,没有错误,但是当我尝试plot()
或scatter()
,它失败了
AttributeError: 'figure()' is not a Qt property or a signal
因此,似乎我可以使pylab
正常工作的唯一方法是,安装python3-pyside
和python3-pyqt5
,看看上面引用的奇怪的ImportError
, 再次尝试%pylab
,然后工作。