Mayavi: Mayavi dengan IPython dan Qt

Dibuat pada 12 Apr 2014  ·  7Komentar  ·  Sumber: enthought/mayavi

Meskipun dokumen tidak menyebutkannya secara eksplisit, saya kira itu mungkin untuk menjalankan Mayavi di IPython (v. 2.0.0) dengan qt...

$ ETS_TOOLKIT=qt4 ipython2 --gui=qt4 -c 'from mayavi import mlab'
<...>
/usr/lib/python2.7/site-packages/pyface/qt/__init__.py in prepare_pyqt4()
     15     # Set PySide compatible APIs.
     16     import sip
---> 17     sip.setapi('QString', 2)
     18     sip.setapi('QVariant', 2)
     19 

ValueError: API 'QString' has already been set to version 1
bug

Semua 7 komentar

Seharusnya baik-baik saja jika Anda (1) menginstal pyside dan (2) menghapus instalan PyQt atau juga mengatur QT_API=pyside

Tidak! Anda hanya perlu menyetel sip ke API #2 sebelum ipython memulainya qt event loop (biasanya saat mengimpor matplotlib). Anda dapat melakukannya menggunakan variabel lingkungan, argumen baris perintah, atau secara terprogram.
Selanjutnya, jika Anda menggunakan IDE seperti spyder, Anda dapat mengaturnya secara otomatis.

Tidak yakin apakah itu benar-benar bug, tetapi tidak benar-benar komunikatif, jadi setidaknya "diperbaiki oleh doc" atau "diperbaiki oleh pesan kesalahan".

IMHO, ini bukan bug tetapi kita harus menambahkan tautan ipython doc ini ke mayavi doc dan menyebutkan flag --gui=qt tergantung pada backend PySide/PyQt (setidaknya di sini: http://docs.enthought.com/ mayavi/mayavi/mlab.html dan ada beberapa tempat lain)

Saya sekarang ini sudah ditutup, tetapi saya tidak ingin membuka masalah baru, karena sepertinya sudah terpecahkan. Namun, saya mencoba melakukan semua yang saya baca di sini (mengubah ETS_TOOLKIT dan QT_API ) dan di tautan yang disediakan, tetapi kesalahan terus berlanjut.
Saya menggunakan mayavi 4.5.0 py27_0 dengan python 2.7.12 , semua diinstal melalui conda . Saya mencoba menggunakan ipython dan juga di jupyter notebook , tetapi itu menunjukkan pesan yang sama ( API 'QString' has already been set to version 1 ).
Saya benar-benar tidak tahu apa yang saya lewatkan untuk menyelesaikan ini.

@victortxa -- dapatkah Anda juga melihat diskusi di #532.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat