2013-05-03 23 views
6

Daha önce Mac portları tarafından korunan bir python ortamı kullanıyorum. Ben PyQT, VTK, matplotlib vb kullanarak bazı temel komut dosyaları vardı. Paraview kullanmak mümkün olmuştur ama benim kullanımları için biraz ağır görünüyor bu yüzden ben MayaVi2 (ve TVTK) denemek isterdim.MayaVi2, varsayılan olarak wx yerine Qt kullanmaya/kullanmaya nasıl başlanır?

El ile yüklemeyi denedim ve denedim ama sorunlu olduğunu kanıtladı. Yani mermiyi ısırıp Canopy'yi (akademik lisans) denemeyi düşündüm. Qt, VTK ve MayaVI dünyasında her şeyin iyi olduğunu gösteren bu VTK/Mayavi on Mac OS X'a dayanarak 64 bit Canopy kurdum.

Mayavi2'nin Canopy ortamında çalışmaya başlamasında sorun yaşıyorum. Çalışır, ancak konsol çok sayıda hata alır, eğer herhangi bir iletişim kutusunu/ayar kutusunu çağırırsam, "düğmeleri" düzgün çalışmıyor. İşte mayavi2 başlatmaya çalıştığınızda (ekran fulls bir çift) ilk hatadır:

(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)

Aslında TVTK daha çok ilgileniyorum, bu yüzden web sitesi galerisinden http://docs.enthought.com/mayavi/mayavi/auto/examples.html birkaç dan Mayavi demolar bazı çalıştı Ben bir çeşit çalıştı, yani bir VTK (?) Pencere/sahne görüntüler, ben VTK penceresiyle etkileşim kurabilir. Bir ayar/diyalog penceresi açana kadar her şey iyidir ve daha sonra "buton" diyalog penceresinin hiçbiri işe yaramaz ve çıkmaya zorlamak zorundayım. İşte son ben plot3D demo "Kurma" düğmesine açmak hatasının çizgi şudur: çöküyor bu durumda

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

Hatta (sayfasında önerilen gibi)

ipython --gui=wx

çalıştı ama, pencere yok

Konsoldaki hata iletilerine dayanarak bunların hepsi wx ile ilgili görünüyor. Gölgelik ortamının "kendi kendine yeten" olduğunu anlamam ama eski ortamım bir şekilde çatışabilir mi? Bunu nasıl test edebilirim?

mayavi2'nin wx yerine Qt kullanabileceği bir ortam değişkeni var mı? Yerel python betiklerimin herhangi birinde wx kullanmıyorum, bu yüzden Canopy'de gerekmedikçe, eğer bu bir seçenekse devre dışı bırakmayı oldukça mutlu edicem.

Herhangi bir fikrin var mı?

+0

Lütfen düzenlemenizi yanıt olarak gönderin, kendi sorunuzu cevaplamak uygun değil. –

cevap

9

Mayavi Gallery'daki örneklerin çoğunu çalıştırdıktan sonra, Traits'i Qt'yi kullanması için bilgilendirmem gerektiğini anladım. Bu, bir sys.environment() çağrısı kullanılarak komut dosyasının içinden bir ortam değişkeni ayarlanarak gerçekleştirilmiştir. Ben şöyle benim .profile içinde qt4 için ortam değişkeni ETS_TOOLKIT açmaya karar: **

export ETS_TOOLKIT=qt4 

Mayavi2 şimdi reklamı olarak çalışır!

+1

Teşekkürler! Wx, anaconda'nın python'una sahip OSX'de oldukça zor görünüyor. –

İlgili konular