Python3 + ipython + pylab на Ubuntu 14.04

Я действительно хочу переключиться на Python 3, но Ubuntu 14.04 мешает делать так при использовании платформы IPython+pylab.

Мои настройки: Я установил большую часть важного использования пакетов pip вместо aptitude. Пакеты Thes включают numpy 1.10.1, scipy 0.16.1, matplotlib 1.5.0, pylab 0.1.0 и IPython 4.0.1.

Я также установил использование python3-pyside 1.2.1 и python3-pyqt5 5.2.1 aptitude.

Используя matplotlib из IPython работы хорошо:

import matplotlib.pyplot as plt
plt.plot([0, 1], [1, 2])
plt.show()

Но проблема запускается, когда я пытаюсь использовать pylab, любой путем вызова ipython --pylab или путем вызова pylab из IPython. Это - то, что я вхожу в оба из этих случаев:

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']

Так, если я понимаю это правильно, это не распознает это PyQt5 установлен. Это странно по двум причинам; во-первых, import PyQt5 и import PyQt5.QtCore оба не жалуются. Вторая причина состоит в том, что второй вызов к pylab работает отлично, и с Qt5!

Using matplotlib backend: Qt5Agg
Populating the interactive namespace from numpy and matplotlib

Однако существует другое последствие для этого. После графического изображения, успешно (говорят, с plot([0, 1], [1, 2])), когда я выхожу из IPython использование Ctrl-D, я получаю a Segmentation fault (core dumped).

Это - проблема, которую я имею в течение приблизительно 3 месяцев теперь. Я уже отправил несколько вопросов здесь: Действительно устанавливая PyQt4/5 для python 3.4 на надежном человеке и https://stackoverflow.com/questions/32007733/pip-install-pyside-fails. Я попробовал, вероятно, почти все комбинации установки pyside/pyqt5/numpy/scipy/matplotlib/ipython/pylab через зернышко/способность. Ничто, кажется, не работает правильно.

0
задан 23 May 2017 в 15:39

1 ответ

На Ubuntu 14.04 я мог запустить ipython и затем импортируйте PyQt5, но если я работаю ipython --matplotlib qt5, это указывает pyqt5 не установлен.

Я затем изучил код и видел в файле /usr/local/lib/python3.4/dist-packages/IPython/external/qt_loaders.py, это ipython проверки на QtCore, QtGui, Qtsvg и в случае pyqt5 также для qtwidgets. Естественно, я действительно имел QtCore, QtGui и QtWidgets установленный, но нет Qtsvg. Я работал синаптический и установленный Qtsvg для pyqt5 (который является python3-pyqt5.qtsvg). Теперь это работает.

TL; DR: установите python3-pyqt5.qtsvg пакет:

sudo apt-get install python3-pyqt5.qtsvg
2
ответ дан 30 September 2019 в 02:21

Другие вопросы по тегам:

Похожие вопросы: