更新

更新

我在 ubuntu 14.04.2 (trusty) 上同时使用 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'

matplotlib尝试QtCore从导入后会抛出该错误PyQt5。有趣的是,即使清除了 PyQt5,它也会在那里失败(但会出现错误No module namedPyQt5`)

matplotlib这两个软件包有问题吗python3-pyqt4/5? 有可能python-pyqt4/5甚至不支持吗python3.4

更新

清除python3-pyqt4python3-pyqt5并安装后python3-pysideipython与 配合良好pylab。这在我链接到的 SO 问题中有记录。

现在,pyside安装完成后,我再次安装了它python3-pyqt5,以便回答评论中的问题,现在QtCore已经正确导入(在和pythonipython),但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']

现在,在控制台%pylab中再次输入ipython作品。这是一个非常奇怪的行为。

更新(2)

似乎pyside没有 ubuntu 包python3-pyqt5,实际上不起作用。我可以ipython --pylab通过这种方式运行而不会出现任何错误,但是当我尝试plot()或 时scatter(),它会失败

AttributeError: 'figure()' is not a Qt property or a signal

pylab所以,这似乎是我能完成工作的唯一方法适当地,它安装两者python3-pyside,看到上面引用的python3-pyqt5奇怪,尝试ImportError%pylab 再次, 和工作。

相关内容