Estou usando o Python 3 no meu Ubuntu 14.04.2 (confiável), juntamente com o Python 2. Estou tentando executar ipython --pylab
, mas com o Python 3, isso falha (funciona bem com o Python 2). Ele falha, pois precisa de QT4 / 5 ou PySide.
Eu não pude instalar o PySide , mas eu poderia facilmente instalar o PyQt4 com
sudo aptitude install python3-pyqt4 python3-pyqt5
No entanto, isso não parece fazer o trabalho. A saída de ipython --pylab
é
ImportError: cannot import name 'QtCore'
matplotlib
gera esse erro depois de tentar importar QtCore
de PyQt5
. Engraçado, ele falha exatamente lá mesmo se o PyQt5 for removido (mas com o erro No module named
PyQt5 ')
Há algo de errado com matplotlib
ou com os pacotes python3-pyqt4/5
? É possível que python-pyqt4/5
nem mesmo suporte python3.4
?
Depois de eliminar python3-pyqt4
e python3-pyqt5
e instalar python3-pyside
, ipython
funcionou bem com pylab
. Isso está documentado na pergunta do SO ao qual eu estava vinculando.
Agora, com pyside
instalado, instalei python3-pyqt5
novamente para responder a uma pergunta dos comentários e agora QtCore
foi devidamente importado (ambos em python
e ipython
), mas pylab
não está funcionando novamente.
O erro, no entanto, é muito diferente:
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']
Agora, digite %pylab
novamente dentro do console ipython
funciona . Este é um comportamento muito estranho.
Parece que pyside
, sem o pacote ubuntu python3-pyqt5
, realmente não funciona. Posso executar ipython --pylab
sem erros, mas quando tento plot()
ou scatter()
, ele falha com
AttributeError: 'figure()' is not a Qt property or a signal
Assim, parece que a única maneira de fazer pylab
funcionar corretamente é instalar os python3-pyside
e python3-pyqt5
, veja o estranho ImportError
citado acima, tentando %pylab
novamente e trabalho.
Tags python python3 qt matplotlib