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