Mayavi: IPythonとQtを使用したMayavi

作成日 2014年04月12日  ·  7コメント  ·  ソース: enthought/mayavi

ドキュメントには明示的に記載されていませんが、Qtを使用してIPython(v。2.0.0)でMayaviを実行できるはずです...しかし

$ 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

全てのコメント7件

(1)pysideをインストールし、(2)PyQtをアンインストールするか、 QT_API=pyside設定する場合は、問題ないはずです。

番号! ipythonがqtイベントループを開始する前に(通常はmatplotlibをインポートする場合)、sipをAPI#2に設定する必要があります。 これは、環境変数、コンマ行引数を使用して、またはプログラムで行うことができます。
さらに、スパイダーのようなIDEを使用している場合は、これを自動的に設定できます。

これは役立つかもしれません: http ://ipython.readthedocs.org/en/stable/interactive/reference.html#pyqt -and-pyside

それが実際にバグであるかどうかはわかりませんが、実際には伝達的ではないため、少なくとも「ドキュメントによる修正」または「エラーメッセージによる修正」のいずれかです。

私見、これはバグではありませんが、このipythonドキュメントリンクをmayavi docに追加し、 --gui=qtフラグがPySide / PyQtバックエンドに依存することを言及する必要があります(少なくともここ:http://docs.enthought.com/ mayavi / mayavi / mlab.htmlそして他にもいくつかの場所があります)

現在、これはクローズされていますが、解決されたように見えるため、新しい問題を開きたくありません。 ただし、ここで読んだすべてのこと( ETS_TOOLKITQT_API )と提供されたリンクを実行しようとしましたが、エラーが発生し続けます。
mayavi 4.5.0 py27_0python 2.7.12 、すべてconda介してインストールされています。 ipythonjupyter notebookを使用してみましたが、同じメッセージ( API 'QString' has already been set to version 1 )が表示されます。
私はこれを解決するために何が欠けているのか本当にわかりません。

@ victortxa- #532のディスカッションもご覧いただけますか。

このページは役に立ちましたか?
0 / 5 - 0 評価