Eu realmente quero mudar para o Python 3, mas o Ubuntu 14.04 dificulta isso ao usar o framework IPython + pylab.
Minhas configurações: Eu instalei a maioria dos pacotes importantes usando pip
em vez de aptitude
. Esses pacotes incluem numpy 1.10.1 , scipy 0.16.1 , matplotlib 1.5.0 , pylab 0.1.0 e IPython 4.0.1 .
Eu também instalei python3-pyqt5 5.2.1 e python3-pyside 1.2.1 usando aptitude
.
Usar matplotlib
de dentro de IPython
funciona bem:
import matplotlib.pyplot as plt
plt.plot([0, 1], [1, 2])
plt.show()
Mas o problema começa quando tento usar pylab
, chamando ipython --pylab
ou chamando pylab
de dentro do IPython. Isso é o que eu recebo em ambos os casos:
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']
Então, se eu entendi corretamente, ele não reconhece que PyQt5
está instalado. Isso é estranho por dois motivos; primeiro, import PyQt5
e import PyQt5.QtCore
não reclamam. A segunda razão é que uma segunda chamada para o pylab funciona perfeitamente e com o Qt5!
Using matplotlib backend: Qt5Agg
Populating the interactive namespace from numpy and matplotlib
No entanto, há outra consequência para isso. Após a plotagem, com sucesso (digamos, com plot([0, 1], [1, 2])
), quando eu sair do IPython usando Ctrl - D , recebo um Segmentation fault (core dumped)
.
Este é um problema que tenho há cerca de 3 meses. Eu já postei algumas perguntas aqui: Really installing PyQt4 / 5 para python 3.4 no confiável e link . Eu tentei provavelmente quase todas as combinações de instalação pyside / pyqt5 / numpy / scipy / matplotlib / ipython / pylab via pip / aptitude. Nada parece funcionar corretamente.