Conda๋ฅผ ํตํด Mayavi๋ฅผ ์ค์นํ๊ณ Jupyter Notebook์์ ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํฉ๋๋ค.
%gui qt
Mayavi ๊ฐ์ ธ์ค๊ธฐ mlab์์
mlab.test_flow()
๊ทธ๋ฐ ๋ค์ GUI๋ฅผ ํด๋ฆญํ์ฌ ์ฅ๋ฉด์ ์ ์ฅํฉ๋๋ค. ํ์ผ ์ถ๋ ฅ์ "snapshot.pdf"๋ก ์ค์ ํ๋ฉด ๋ ธํธ๋ถ์ ์ฐ ํฐ๋ฏธ๋์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
2016-06-21 12:03:43.383 python[44385:6652218] modalSession์ด ์กฐ๊ธฐ ์ข ๋ฃ๋์์ต๋๋ค. endModalSession์ ๋ํ ์ฌ์ง์ ํธ์ถ์ ํ์ธํ์ญ์์ค.
PDF ํ์ผ์ด ์์ฑ๋์ง ์์ต๋๋ค. ์ฆ, snapshot.pdf.gz๋ผ๋ ํ์ผ์ด ๋จ์ต๋๋ค.
๋ด๊ฐ ์ฌ๊ธฐ์์ ์ผํ๊ณ ์๋ ํ๊ฒฝ :
env.txt
์ด ์ ์ฐจ์ ๊ด๋ จ๋ ๋ง์ ๋ชจ๋์ด ์์ผ๋ฉฐ ์ค๋ฅ ์ถ๋ ฅ์์ โโ๊ทธ๊ฒ์ด ์คํจ์ ์์ธ์ด ๋ฌด์์ธ์ง ๋ช ํํ์ง ์์ต๋๋ค.
์ผ๋ฐ ipython ํ๋กฌํํธ์์ ๋
ธํธ๋ถ์ ์ฌ์ฉํ์ง ์๊ณ ๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ต๋๊น?
WX๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅ๋ฅผ ์ฌํํ ์ ์์ต๋๊น?
๋ํ ํ ์คํธ๋ฅผ ์คํํด์ผ ํฉ๋๋ค(๋ฌธ์ ๋ฒ์๋ฅผ ์ขํ๋ ๋ฐ ๋์์ด ๋ ์ ์์).
# probably need to run these from site-packages
python -um nose.core -v tvtk
python -um nose.core -v mayavi
๋ค์ ์๋ ํ์ธ์.
tvtk ํ ์คํธ๋ฅผ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ค๋ฅ: MinValue/MaxValue๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ํน์ฑ์ธ์ง ํ ์คํธ
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/Users/ryan/anaconda3/envs/mayavi/lib/python2.7/site-packages/tvtk/tests/test_tvtk.py", ์ค 917, test_trait_with_range
vtk_attr_name)
ํ์ผ "/Users/ryan/anaconda3/envs/mayavi/lib/python2.7/site-packages/tvtk/tests/test_tvtk.py", 899ํ, get_min_max_value
๋ฐํ (getattr(vtk_klass(), get_min_method)(),
SystemError: ์์ธ๊ฐ ์ค์ ๋์ง ์์ ์ค๋ฅ ๋ฐํ30.976์ด ๋์ 106๋ฒ์ ํ ์คํธ ์คํ
์คํจ(๊ฑด๋๋ฐ๊ธฐ=3, ์ค๋ฅ=1)
MayaVi ํ ์คํธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
Jupyter ์ฝ์์์ ์๋ํ๋ฉด ์ฝ๊ฐ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
2016-06-21 14:12:20.658 python[45411:6739252] modalSession์ด ์กฐ๊ธฐ ์ข ๋ฃ๋์์ต๋๋ค. endModalSession์ ๋ํ ์ฌ์ง์ ํธ์ถ์ ํ์ธํ์ญ์์ค.
GL2PS ์ ๋ณด: OpenGL ํผ๋๋ฐฑ ๋ฒํผ ์ค๋ฒํ๋ก๊ฒฝ๊ณ : ์ปค๋์ด is_complete_request์ ์๋ตํ์ง ์์์ต๋๋ค.
use_kernel_is_complete
๋ฅผ False๋ก ์ค์ ํฉ๋๋ค.
GUI๋ก ์ค์ ํ๋ ค๊ณ ํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฏ๋ก Wx๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ ์์ต๋๋ค.
์์ธ๊ฐ ๋ฐ์ํ์ต๋๋ค. % tb๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ์ญ ์ถ์ ์ ํ์ธํ์ญ์์ค.
SystemExit: ์ด ํ๋ก๊ทธ๋จ์ ํ๋ฉด์ ์ก์ธ์คํด์ผ ํฉ๋๋ค.
Python์ Framework ๋น๋๋ก ์คํํ์ญ์์ค.
Mac์ ๊ธฐ๋ณธ ๋์คํ๋ ์ด์ ๋ก๊ทธ์ธํ์ต๋๋ค.์ข ๋ฃํ๋ ค๋ฉด 'exit', 'quit' ๋๋ Ctrl-D๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ๋ณด์ ๋ํด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค,
ํ์ฌ ํ ์คํธํ ์ ์๋ mac os๊ฐ ์์ผ๋ฏ๋ก(์ ๋ mac ์ฌ์ฉ์๊ฐ ์๋๋๋ค) ๋ช ๊ฐ์ง๋ฅผ ๋ ์๋ํด ์ฃผ์๋ฉด ๋์ค์ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
MinValue/MaxValue๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ํน์ฑ์ธ์ง ํ ์คํธ
ํ ์คํธ์ ์คํจํ๋ ๊ฒ์ ์ข์ง ์์ง๋ง ์ด ์ค๋ฅ๊ฐ ๊ทํ์ ๋ฌธ์ ์ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
Jupyter ์ฝ์์์ ์๋ํ๋ฉด ์ฝ๊ฐ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
OpenGL์ ๋ํ ์ค๋ฅ๋ ์ด์ํ๊ณ ์ด๋์์ ์๋์ง ๋ช
ํํ์ง ์์ต๋๋ค(์ถ์ ์์).
jupyter ์ฝ์์ด Qt ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ ์ถ๋ ฅ๊ณผ ์ํธ ์์ฉํ๋ ๊ฒ์ ํผํ๊ธฐ ์ํด python
ํ๋กฌํํธ์์ ๋ช
๋ น์ ์คํํ ์ ์์ต๋๊น?
GUI๋ก ์ค์ ํ๋ ค๊ณ ํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฏ๋ก Wx๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ ์์ต๋๋ค.
๋๋ ๋น์ ์ด wxpython 3.0์ ์ฌ์ฉํ๊ณ ์์์ ์์์ต๋๋ค. python 3.0์ ๋ํ ์ง์์ด traitsui 5.0.0์ ์ถ๊ฐ๋์์ต๋๋ค. ๋ฐ๋ผ์ Mayavi์ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก traitsui, traits ๋ฐ pyface, apptools ๋ฐ envisage์๋ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, (wx์์) ๋ง์ง๋ง ๋ฉ์์ง๋ ์ฐ๋ฆฌ๊ฐ ํค๋๋ฆฌ์ค ๋จธ์ (๋๋ ์ปจํ ์ด๋)์์ ํ์ด์ฌ์ ์คํํ๊ณ ์๋ค๊ณ ์๊ฐํ๊ฒ ๋ง๋ญ๋๋ค. ์ฌ์ค์ ๋๊น?
๋์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ต์ ์ ๋ณด
python 2.7.10(64๋นํธ) ๋ฐ vtk 6.3์ด ์ค์น๋ Windows 10์์ segfault๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ๋ mac osx์ ๊ด๋ จ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ณง ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
@ryanpepper write
pdf ํ์ผ์ ์๋ํ ๋ tvtk.GL2PSExporter()
์ด ์คํจํ๋ ๊ฒ ๊ฐ์ต๋๋ค. vtk ๋๋ tvt ๋ฒ๊ทธ์ผ ์ ์์ง๋ง ์ถ๊ฐ ์กฐ์ฌ ์์ด๋ ํ์คํ ์ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ps
๋ด๋ณด๋ด๊ธฐ๊ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์๋ํด์ผ ํฉ๋๋ค.
@itziakos ํ๋ฅญํฉ๋๋ค. ์กฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@ryanpepper -- ์ค์ ๋ก ์๋ํ์ง๋ง ํ์ผ์ด ์ค์ ๋ก ์์ถ๋ ๋ด์ฉ์ด ํฌํจ๋ PDF์ธ ๊ฒฝ์ฐ VTK์์ snapshot.pdf.gz๋ฅผ ์ ์ฅํ๋ ์ด์ํ VTK ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฏ๋ก ํ์ผ ์ด๋ฆ์ snapshot.pdf๋ก ๋ฐ๊พธ๋ฉด ๊ทธ๋ฅ ๋ ๋๋ง๋์ด์ผ ํฉ๋๋ค. ์ข์. ํ์ ๋ํ ์์์์ ์์ถ์ ๋๋ฉด ์ด ๋ฐฉ๋ฒ๋ ์๋ํ์ง๋ง ํ์ผ์ด snapshot.pdf๋ก ์ ์ฅ๋์ง๋ง ํ์ผ์ด ๋ ์ปค์ง๋๋ค. :( ํ์ผ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํ VTK ๋ฌธ์ ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ด ํ์ผ์ ๋ซ์ต๋๋ค. ํ๋์ ํดํน ์์ ์ ํ์ผ์ด *.pdf.gz๋ก ์ ์ฅ๋์๋์ง ํ ์คํธํ๊ณ ์ด๋ํ๋ ๊ฒ์ด์ง๋ง ํดํน์ฒ๋ผ ๋ณด์ด์ง๋ง ์ ๋' https://github.com/enthought/mayavi/pull/416์ ์ผ๋ถ์ ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ์์ ์ฌํญ์ ์ถ๊ฐ๋ก ํธ์ํ ์์ ์ด์ง๋ง ์ง๊ธ์ ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.