2013-05-03 8 views
6

以前私はMacポートで管理されているPython環境を使用してきました。私はPyQT、VTK、matplotlibなどを使っていくつかの基本的なスクリプトを用意していましたが、私はParaviewを使用することができましたが、MayaVi2(とTVTK)を試してみましたが、MayaVi2をwxではなくQtにデフォルト/使用する方法を教えてください。

手作業でダウンロードしてインストールしようとしましたが、面倒でした。だから、私は弾を噛んで、Canopy(学術ライセンス)を試してみようと思った。このVTK/Mayavi on Mac OS Xに基づいて、Qt、VTK、MayaVIの世界ですべてが良いことが示唆されたので、私は64ビットCanopyをインストールしました。

canavi環境内でmayavi2を動作させるのに問題があります。それは実行されますが、コンソールには多くのエラーが発生します。ダイアログ/設定ボックスを呼び出すと、「ボタン」が正しく機能しません。私はmayavi2を起動しようとすると、ここで(画面フルバックアップのカップルの)最初のエラーは次のとおりです。

(Canopy 64bit) scratch_pad 501 $mayavi2 Traceback (most recent call last): File "/Applications/Canopy.app/appdata/canopy-1.0.0.1160.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/pyface/ui/wx/splash_screen.py", line 121, in _on_paint dc = wx.PaintDC(window)

私は実際にTVTKでより興味を持っていますので、私は、ウェブサイトのギャラリーhttp://docs.enthought.com/mayavi/mayavi/auto/examples.htmlからいくつかをmayaviデモのいくつかを試してみました私はkind-aを試しました。つまり、VTK(?)ウィンドウ/シーンを表示して、VTKウィンドウと対話できます。私が設定/ダイアログウィンドウを開くまでは、すべてが良いですし、ダイアログウィンドウ "ボタン"のどれも動作していないので、強制終了しなければなりません。私はplot3D demoのボタンを「設定」を開いたときにここでは、エラーの最後の行は次のとおりです。

simple demo: File "/Users/michael/Library/Enthought/Canopy_64bit/System/lib/python2.7/site-packages/wx/_core.py", line 9162, in DestroyChildren return core.Window_DestroyChildren(*args, **kwargs) wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at /BUILD/wxPython-src-2.9.2.4/src/common/wincmn.cpp(468) in ~wxWindowBase(): any pushed event handlers must have been removed

私も

ipython --gui=wx

を試してみました(ページの上に示唆したように)が、この場合には、クラッシュ窓なし。

コンソール上のエラーメッセージに基づいて、すべてがwxに関連しているように見えます。 Canopy環境が「自己完結型」なのは私の理解ですが、私の古い環境はどうにかして矛盾しますか?どのように私はこれをテストするだろうか?

mayavi2がwxの代わりにQtを使用できる方法、環境変数はありますか?ローカルのPythonスクリプトでwxを使用していないので、Canopyで必要な場合を除いて、これをオプションにすると無効にするのがとてもうれしく思います。

アイデア?

+0

あなたの編集を回答として投稿してください。あなた自身の質問に答えるのは大丈夫です。 –

答えて

9

Mayavi Galleryの例のほとんどを実行した後、私はTraitにQtを使用する必要があることを知る必要があることを発見しました。これは、sys.environment()呼び出しを使用してスクリプト内から環境変数を設定することによって行われました。私は次のように私の.profileでのqt4に環境変数ETS_TOOLKITを設定することにしました:**

export ETS_TOOLKIT=qt4 

Mayavi2が今のように広告を出して動作します!

+1

ありがとう! WXは、anacondaのpythonを使ったOSX上での面倒なようです。 –

関連する問題