import os
assert(os.environ['ETS_TOOLKIT'] == 'qt4')
from mayavi import mlab
mlab.test_plot3d()
๊ณต๋ฐฑ/์๋ต ์๋ Figure ์ฐฝ ์์ฑ
๋ด ์์คํ ์ ๋ณด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋ซํผ: Linux-4.4.0-87-generic-x86_64-with-debian-stretch-sid
Python: 2.7.13 |Continuum Analytics, Inc.| (๊ธฐ๋ณธ๊ฐ, 2016๋ 12์ 20์ผ, 23:09:15) [GCC 4.4.7 20120313(Red Hat 4.4.7-1)]
์คํ ํ์ผ: /home/ktavabi/miniconda3/envs/py2.7/bin/python
CPU: x86_64: 24์ฝ์ด
๋ฉ๋ชจ๋ฆฌ: 94.4GB
mne: 0.15.dev0
numpy: 1.13.1 {๋ผํฉ=mkl_intel_lp64, blas=mkl_intel_lp64}
์ฌ์ดํผ: 0.19.1
๋งคํธํ๋กฏ๋ฆฝ: 2.0.2
์ค์ผ๋ฐ: 0.18.2
๋๋ฐ๋ฒจ: 2.1.0
๋ง์ผ๋น: 4.5.0
ํผ์ฟ ๋ค: 2017.1
์ค์ฟ ๋ค: 0.5.1
ํฌ๋: 0.20.3
cc @Eric89GXL
%gui qt
์ ์ค์ ํ์
จ์ต๋๊น? ์ด๊ฒ์ด ๋ฐ๋๋ผ Python์ด๊ณ IPython์ด ์๋ ๊ฒฝ์ฐ ๋์ mlab.show()
๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. GUI ํดํท์ ์ค์ ํด์ผ ํ๋ ํ์์ฑ์ ์์ ๋ถ๋ถ์ ๋ฌธ์ํ๋์ด ์์ต๋๋ค. http://docs.enthought.com/mayavi/mayavi/mlab.html
ํ๊ฒฝ ๋ณ์ ETS_TOOLKIT=qt4
๋ฐ QT_API=pyqt
๋ฅผ ์ค์ ํ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ๋์ด ๋ํ๋ฉ๋๋ค.
(1) ์์ดํ์ด์ฌ์ผ๋ก
ipython --gui=qt
from mayavi import mlab
๋ณด๊ณ
ValueError ์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง)
์ ๋ ฅ ()
----> Mayavi ๊ฐ์ ธ์ค๊ธฐ mlab์์ 1๊ฐ/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/mlab.py์์
()
25
26 # ๋ง์ผ๋น ์์ ํ
---> mayavi.tools.camera์์ 27 ๊ฐ์ ธ์ค๊ธฐ ๋ณด๊ธฐ, ๋กค, ์, ํผ์น, ์ด๋
28 from mayavi.tools.Figure ๊ฐ์ ธ์ค๊ธฐ ๊ทธ๋ฆผ, clf, gcf, savefig,
29 ๋ฌด์น๋ถ, sync_camera, ๋ซ๊ธฐ, ์คํฌ๋ฆฐ์ท/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/tools/camera.py์์
()
23 # ์นด๋ฉ๋ผ ๊ด๋ฆฌ์์ ์ํ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์์ฑํ๋ฏ๋ก gcf๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
24 # ๋ฃจํด.
---> .engine_manager์์ 25 ๊ฐ์ ธ์ค๊ธฐ get_engine
26
27/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/tools/engine_manager.py์์
()
10
11 # ํ์ง ์์ ํ
---> mayavi.preferences.api์์ 12 ๊ฐ์ ธ์ค๊ธฐ Preferences_manager
13 mayavi.core.registry ๊ฐ์ ธ์ค๊ธฐ ๋ ์ง์คํธ๋ฆฌ์์
mayavi.core.engine์์ 14 ๊ฐ์ ธ์ค๊ธฐ ์์ง/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/preferences/api.py์์
()
2
3 # ์ ์ญ PreferenceManager ์ธ์คํด์ค
----> .preference_manager์์ 4 ๊ฐ์ ธ์ค๊ธฐ Preferences_manager
5์์ .bindings ๊ฐ์ ธ์ค๊ธฐ set_scene_preferences, get_scene_preferences/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/preferences/preference_manager.py์์
()
27 from traits.etsconfig.api import ETSConfig
28 from traits.api import HasTraits, Instance
---> 29 from traitsui.api import View, Group, Item
apptools.preferences.api์์ 30 ๊ฐ์ ธ์ค๊ธฐ(ScopedPreferences, IPreferences,
31 ํ๊ฒฝ์ค์ ๋์ฐ๋ฏธ)/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/api.py์์
()
34
35 ์๋:
---> .editors.api์์ 36 ๊ฐ์ ธ์ค๊ธฐ ArrayEditor
ImportError๋ฅผ ์ ์ธํ 37:
38 # ArrayEditor๋ numpy์ ์์กดํ๋ฏ๋ก numpy๊ฐ ์์ผ๋ฉด ๋ฌด์ํฉ๋๋ค./home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/__init__.py์์
()
21
22 ์๋:
---> .api์์ 23 ๊ฐ์ ธ์ค๊ธฐ ArrayEditor
ImportError ์ ์ธ 24:
25 ํจ์ค/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/api.py์์
()
22์์ .button_editor ๊ฐ์ ธ์ค๊ธฐ ButtonEditor
.check_list_editor์์ 23 ๊ฐ์ ธ์ค๊ธฐ CheckListEditor
---> .code_editor์์ 24 ๊ฐ์ ธ์ค๊ธฐ CodeEditor
.color_editor ๊ฐ์ ธ์ค๊ธฐ ColorEditor์์ 25
.compound_editor์์ 26 ๊ฐ์ ธ์ค๊ธฐ CompoundEditor/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/code_editor.py์์
()
34 #------------------------------------------------ -------------------------------
35
---> 36 ํด๋์ค ToolkitEditorFactory( EditorFactory ):
37 """ ์ฝ๋ ํธ์ง๊ธฐ์ฉ ํธ์ง๊ธฐ ํฉํ ๋ฆฌ.
38 """ToolkitEditorFactory()์ /home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/code_editor.py
46
47 # ๋ผ์ธ ๋งํน์ ์ํ ๋ฐฐ๊ฒฝ์
---> 48 mark_color = ์์( 0xECE9D8 )
49
50 # ํ์ฌ ์ ํ๋ ๋ผ์ธ์ ํฌํจํ๋ ๊ฐ์ฒด ํน์ฑ(์ ํ ์ฌํญ)/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traits/traits.pyc __call__(self, args, * ๋ฉํ๋ฐ์ดํฐ)
520
521 ํ
--> 522 ๋ฐํ self.maker_function( args, * ๋ฉํ๋ฐ์ดํฐ )
523
524 ํด๋์ค TraitImportError( TraitFactory ):/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traits/traits.pyc ์์( ์ธ์, * ๋ฉํ๋ฐ์ดํฐ)
1234 from traitsui.toolkit_traits import ColorTrait
1235
-> 1236 ๋ฐํ ColorTrait( ์ธ์, * ๋ฉํ๋ฐ์ดํฐ )
1237
1238 ์์ = TraitFactory(์์)/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit_traits.pyc in ColorTrait( ์ธ์, * ํน์ฑ)
5
6 def ColorTrait( ์ธ์, * ํน์ฑ):
----> 7 return toolkit().color_trait( args, * traits )
8
9 def RGBColorTrait( ์ธ์, * ํน์ฑ):/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit.pyc in toolkit(*toolkits)
ETSConfig.toolkit์ธ ๊ฒฝ์ฐ 150:
151 # ETSConfig์ ๋ํ ํดํท์ด ์ด๋ฏธ ์ค์ ๋์ด ์์ผ๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
--> 152 _toolkit = _import_toolkit(ETSConfig.toolkit)
153ํ
154 ๊ธฐํ:/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit.pyc _import_toolkit(์ด๋ฆ)
81
82 def _import_toolkit(์ด๋ฆ):
---> 83 return __import__( name, globals=globals(), level=1 ).toolkit
84
85/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/qt4/__init__.py์์
()
16 # ๋ค๋ฅธ ์์ ์ด ์๋ฃ๋๊ธฐ ์ ์ pyface.qt๋ฅผ ๊ฐ์ ธ์์ sipapi
17 # ํ์ํ ๊ฒฝ์ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ ์ ์์ต๋๋ค.
---> 18 pyface.qt ๊ฐ์ ธ์ค๊ธฐ
19
20 #------------------------------------------------ --------------------------/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/pyface/qt/__init__.py์์
()
38
39 elif qt_api == 'pyqt':
---> 40 ์ค๋น_pyqt4()
41
42 elif qt_api != 'ํ์ด์ฌ์ด๋':/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/pyface/qt/__init__.py prepare_pyqt4()
15 # PySide ํธํ API๋ฅผ ์ค์ ํฉ๋๋ค.
16 ์์ ๋ชจ๊ธ
---> 17 sip.setapi('QDate', 2)
18 sip.setapi('QDateTime', 2)
19 sip.setapi('QString', 2)ValueError: API 'QDate'๊ฐ ์ด๋ฏธ ๋ฒ์ 1๋ก ์ค์ ๋์์ต๋๋ค.
์ง๊ธ๊น์ง from pyface.qt import QtGui, QtCore
๋๋ QT_API ์ค์ ํด์ ๋ก ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
(2) ์ผ๋ฐ ํ์ด์ฌ ์ฝ์์์
from mayavi import mlab
mlab.test_plot3d()
๊ณต์ฅ!
(3) Pycharm IDE ํ์ด์ฌ ์ฝ์์์
from mayavi import mlab
mlab.test_plot3d()
mlab.show()
์ค๋ํซ์ด ์๋ํ๋ ค๋ฉด ํ์ํฉ๋๋ค.
๋ฐ๋ผ์ IPython์์๋ IPython์ด ๋ฒ์ ์ 2๋ก ์ค์ ํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๋ค์์ ์๋ํด ๋ณผ ์ ์์ต๋๊น?
$ ipython
from mayavi import mlab
%gui qt
mlab.test_plot3d()
์๋ง๋ ์ด๊ฒ์ IPython์ด 1๋ก ์ค์ ํ๊ธฐ ์ ์ QT API๋ฅผ 2๋ก ์ค์ ํ ๊ฒ์ ๋๋ค. ๊ธฐ์ ์ ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ IPython ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด: http://ipython.readthedocs.io/en/stable/interactive/reference.html#pyqt -and- pyside ์ด๋ฐ ์ผ์ด ์ผ์ด๋์๋ ์๋์ง๋ง ๋ด ์๋ค.
์ง๊ธ์ ํธ๋ฆญ์ ์ํํ @prabhuramachandran ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฐฑ์๋, ๋ฐ์ธ๋ฉ, ๋น์ฃผ์ผ๋ฆฌ์ ์ด์ ๋ชจ๋ ๊ฐ์ ์ํฉ์ด ์ ๋์ ์ด์ง ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ ๋ ํ์ฌ ์์ ์ํ์์ ๋๊ฒฐํ๋ ค๋(๋๋ ํฌ๋งํ๋) ํ๋ก์ ํธ์ ๋ํด ๊ฐ์ ํ๊ฒฝ์ผ๋ก ์์ ํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ ค๊ณ ํฉ๋๋ค. ์ฆ, ipython ๋๋ matplotlib์ ๊ฐ์ ์ง์ ๋ ์ ๋ฐ์ดํธ ๋๋ ์ค์น์ ๋ํ ๋ด ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด ์๊ฐํ ์คํ์ด ์์๋์ง ์์ ์ํ๋ก ์ ์ง๋๋ค๋ ๋ณด์ฅ์ด ์์ต๋๋ค. ์ ์์งํ ๊ฒ์ผ ์๋ ์์ง๋ง, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๊ณ ์ฅ๋ ๊ฒ์ ๊ณ ์น๋ ๋ฐ ๋ง์ ์๊ฐ์ ํ ์ ํ๋ค๋ ์ ์ ์ธ์ ํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ๋ก cc @kingjr @choldgraf @Eric89GXL
๊ทธ๋์ ์ ๋ ํญ์ ๊ฐ๋ฐ์๋ค์ด 'ํ๊ฒฝ'์ ์ ์ ์๋ ์ํ๋ก ์ ์งํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฃ๊ณ ์ถ์ต๋๋ค.
@choldgraf -- ใ ใ ใ ใ
@kambysese -- ๊ธ์, ์ฐ๋ฆฌ ์์ ์ ์ฝ๋๋ ์ค์ ๋ก ๋ง์ด ๋ฐ๋์ง ์์์ต๋๋ค. ๋ฌธ์ ๋ pyside, pyqt, pyqt4, pyqt5, qtdate(๋ฐ ๊ธฐํ), wxPython(2, 3, ํ์ฌ 4!)์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ์ด๊ฒ์ ์ด๋๊ฐ์ ์กฐ์ฌ์ค๋ฝ๊ฒ ๋ฌธ์ํํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ์ ์ฌํญ์ด ์์ต๋๊น? ์ฌ๊ธฐ์ ๋ฃ์ด๋ ๋ ๊น์? http://docs.enthought.com/mayavi/mayavi/mlab.html ๊ด์ฐฎ์ต๋๊น?
@prabhuramachandran ์ ์ด๊ฒ์ด OSX์์ ์ง๊ธ ์ผ์ด๋๊ณ ์์ต๋๊น? %gui qt
๋ง๋ฒ๊ณผ ์๊ด์์ด
์ ๋ชจ๋ฅด๊ฒ ์ด. ์ผ์ด ์ ํ๋ฆฌ๊ณ ์์ด. PyQt5์ ๋ฒ์ ์ ๋ฌด์์ ๋๊น? PyQt5๋ ๋ด๊ฐ ์ํ๋ ๋งํผ ์์ ์ ์ด์ง ์์ต๋๋ค. ์ด์ํ ๋ฌธ์ ๊ฐ ๋๋ฌด ์์ฃผ ๋ฐ์ํ์ต๋๋ค. PyQt5(5.10.1)๋ OSX์์ ์๋ํ์ง๋ง 5.9.2๋ก ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ๋ Windows์์๋ ์ถฉ๋ํฉ๋๋ค.
PyQt 5.9.2๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
ํฅ๋ฏธ๋กญ๊ฒ๋ ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ง๋ง ๋๊ตฌ ๋ชจ์์ด ์ฌ๊ธฐ์ ๊ธฐ ๋ ๋ค๋๊ณ PyQt 5.10.1๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ํด๊ฒฐ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋ํ๋ ์๊ฐํ๋ฅผ ์ป์์ง๋ง ์๋ง์ด ๋ ๊ฒ์ ๋๊ตฌ ๋ชจ์๋ฟ์ด์์ต๋๋ค. PyQt5.10.1๋ก ์ ๋ฐ์ดํธํด ๋ณด์ญ์์ค.
conda
์ ์ข
์์ฑ์ผ๋ก ์ธํด ํด๋น ์ต์
์ ๋ง์กฑํ์ง ์์ต๋๋ค. ์๋ํ ์๋ ์์ง๋ง ๋ค๋ฅธ ๋ฌด์ธ๊ฐ๊ฐ ๊นจ์ง ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค.
pip install PyQt5
์(๋ฅผ) ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
nvmd 5.9.2๋ ๊ธฐ๋ณธ conda ์ฑ๋์์ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฅ ๋์ ๋ฒ์ ์ ๋๋ค.
5.9.4
์ฐฝ์ OSX์ ์๋ฌด๊ฒ๋ ํ์๋์ง ์์์ ํ์ธํ ์ ์์ต๋๋ค.
pip install pyqt5 --upgrade --no-deps
5.10.1๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์๋ํฉ๋๋ค.
@larsoner -- ๊ฐ์ฌํฉ๋๋ค! ์ ๋ง ๊ณ ํต์ค๋ฝ์ต๋๋ค. ํนํ appveyor์์ Windows์์ 5.10.1์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
5.9.4
์ฐฝ์ OSX์ ์๋ฌด๊ฒ๋ ํ์๋์ง ์์์ ํ์ธํ ์ ์์ต๋๋ค.5.10.1๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์๋ํฉ๋๋ค.