import os
assert(os.environ['ETS_TOOLKIT'] == 'qt4')
from mayavi import mlab
mlab.test_plot3d()
Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΡΡΡΠΎΠ΅/Π½Π΅ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°
ΠΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Linux-4.4.0-87-generic-x86_64-with-debian-stretch-sid
Python: 2.7.13 |Continuum Analytics, Inc.| (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, 20 Π΄Π΅ΠΊΠ°Π±ΡΡ 2016 Π³., 23:09:15) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»: /home/ktavabi/miniconda3/envs/py2.7/bin/python
Π¦Π: x86_64: 24 ΡΠ΄ΡΠ°
ΠΠ°ΠΌΡΡΡ: 94,4 ΠΠ
ΠΈΠΌΡ: 0.15.dev0
ΡΠΈΡΠ»ΠΎ: 1.13.1 {lapack=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
ΠΊΠΎΠΏΠΈΡ @Eric89GXL
ΠΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ %gui qt
? ΠΡΠ»ΠΈ ΡΡΠΎ Π²Π°Π½ΠΈΠ»ΡΠ½ΡΠΉ Python, Π° Π½Π΅ IPython, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ mlab.show()
Π² ΠΊΠΎΠ½ΡΠ΅. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π² Π½Π°ΡΠ°Π»Π΅ Π·Π΄Π΅ΡΡ: http://docs.enthought.com/mayavi/mayavi/mlab.html .
Π― ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ETS_TOOLKIT=qt4
ΠΈ QT_API=pyqt
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
(1) Π‘ ΠΈΠΏΠΈΡΠΎΠ½ΠΎΠΌ
ipython --gui=qt
from mayavi import mlab
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ
ValueError Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ²)
Π² ()
----> 1 ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠ° Mayavi mlab/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/mlab.py Π²
()
25
26 # ΠΠΌΠΏΠΎΡΡ Mayavi
---> 27 ΠΈΠ· mayavi.tools.camera import view, roll, yaw, pitch, move
28 ΠΈΠ· 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 # ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
---> 25 ΠΈΠ· .engine_manager ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ get_engine
26
27/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/tools/engine_manager.py Π²
()
10
11 # ΠΠ΅ΡΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ
---> 12 ΠΈΠ· mayavi.preferences.api import preference_manager
13 ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° mayavi.core.registry
14 ΠΈΠ· ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΠΌΠΏΠΎΡΡΠ° mayavi.core.engine/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/mayavi/preferences/api.py Π²
()
2
3 # ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ PreferenceManager
----> 4 ΠΈΠ· .preference_manager ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ preference_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 ΠΈΠ· traits.etsconfig.api ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ETSConfig
28 ΠΈΠ· traits.api ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ HasTraits, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
---> 29 ΠΈΠ· traitsui.api import View, Group, Item
30 ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠ° apptools.preferences.api (ScopedPreferences, IPreferences,
31 ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΠΠΎΠΌΠΎΡΠ½ΠΈΠΊ)/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/api.py Π²
()
34
35 ΠΏΠΎΠΏΡΡΠΊΠ°:
---> 36 ΠΈΠ· .editors.api ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ArrayEditor
37, ΠΊΡΠΎΠΌΠ΅ ImportError:
38 # ArrayEditor Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ numpy, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅, Π΅ΡΠ»ΠΈ numpy ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ./home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/__init__.py Π²
()
21
22 ΠΏΠΎΠΏΡΡΠΊΠ°:
---> 23 ΠΈΠ· .api ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ArrayEditor
24, ΠΊΡΠΎΠΌΠ΅ ImportError:
25 ΠΏΡΠΎΡ ΠΎΠ΄/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/api.py Π²
()
22 ΠΈΠ· .button_editor ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ButtonEditor
23 ΠΈΠ· .check_list_editor ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ CheckListEditor
---> 24 ΠΈΠ· .code_editor ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ CodeEditor
25 ΠΈΠ· .color_editor ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ColorEditor
26 ΠΈΠ· .compound_editor ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ CompoundEditor/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/code_editor.py Π²
()
34 #------------------------------------------------ -------------------------------
35
---> 36 ΠΊΠ»Π°ΡΡ ToolkitEditorFactory ( EditorFactory ):
37 """ Π€Π°Π±ΡΠΈΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π°.
38 """/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/editors/code_editor.py Π² ToolkitEditorFactory()
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 def __call__ (Ρ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅):
--> 522 Π²Π΅ΡΠ½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ self.maker_function ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅)
523
524 ΠΊΠ»Π°ΡΡ TraitImportError ( TraitFactory ):/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traits/traits.pyc Π² ΡΠ²Π΅ΡΠ΅ ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅)
1234 ΠΈΠ· traitsui.toolkit_traits ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ColorTrait
1235
-> 1236 Π²Π΅ΡΠ½ΡΡΡ ColorTrait ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅)
1237
1238 Color = TraitFactory( Color )/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit_traits.pyc Π² ColorTrait ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΡΠ΅ΡΡΡ)
5
6 def ColorTrait ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΡΠ΅ΡΡΡ):
----> 7 return toolkit().color_trait( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΡΠ΅ΡΡΡ)
8
9 def RGBColorTrait ( Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, * ΡΠ΅ΡΡΡ):/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit.pyc Π² Π½Π°Π±ΠΎΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² (*toolkits)
150, Π΅ΡΠ»ΠΈ ETSConfig.toolkit:
151 # ΠΡΠ»ΠΈ Π΄Π»Ρ ETSConfig ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ:
--> 152 _toolkit = _import_toolkit(ETSConfig.toolkit)
153 Π²Π΅ΡΠ½ΡΡΡ _toolkit
154 Π΅ΡΠ΅:/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/traitsui/toolkit.pyc Π² _import_toolkit(ΠΈΠΌΡ)
81
82 ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ _import_toolkit (ΠΈΠΌΡ):
---> 83 return __import__(ΠΈΠΌΡ, 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 ΠΠ»ΠΈΡ qt_api == 'pyqt':
---> 40 prepare_pyqt4()
41
42 ΠΠ»ΠΈΡ qt_api != 'pyside':/home/ktavabi/miniconda3/envs/py2.7/lib/python2.7/site-packages/pyface/qt/__init__.py Π² prepare_pyqt4()
15 # Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ API, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ PySide.
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) Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Python
from mayavi import mlab
mlab.test_plot3d()
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
(3) Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Python Pycharm IDE
from mayavi import mlab
mlab.test_plot3d()
mlab.show()
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°.
ΠΡΠ°ΠΊ, Π² IPython ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ IPython ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΡ 2. ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ:
$ ipython
from mayavi import mlab
%gui qt
mlab.test_plot3d()
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ QT API Π½Π° 2, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ IPython ΡΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° 1. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ IPython Π·Π΄Π΅ΡΡ: http://ipython.readthedocs.io/en/stable/interactive/reference.html#pyqt -and- pyside ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @prabhuramachandran , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³... ΠΏΠΎΠΊΠ°.
ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌΠΈ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°ΠΌΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΠΈΠ²ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΡΡΠ°ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ (ΠΈΠ»ΠΈ Π½Π°Π΄Π΅ΡΡΡ) Π·Π°ΠΌΠΎΡΠΎΠ·ΠΈΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ipython ΠΈΠ»ΠΈ matplotlib, Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ ΡΡΠ΅ΠΊ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΌ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΡ Π½Π°ΠΈΠ²Π½ΠΎΡΡΡ, Π½ΠΎ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΌΠ°Π½Π½ΡΡ Π²Π΅ΡΠ΅ΠΉ π ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ Π²ΡΠ΅Π³Π΄Π° Π»ΡΠ±ΠΎΠΏΡΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΡ Β«ΡΡΠ΅Π΄ΡΒ» Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
Π Π²Π°ΡΠ΅ΠΌΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΡ @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, Π½ΠΎ Π΄Π°Π΅Ρ ΡΠ±ΠΎΠΉ Π² Windows, Π³Π΄Π΅ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° 5.9.2.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ 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 -- ΡΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΠΎΡ ΡΡΠΎ Π±ΠΎΠ»Ρ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ 5.10.1 Π² Windows, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° appveyor.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Ρ
5.9.4
, ΡΡΠΎ ΠΎΠΊΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° OSX, Ρ:ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ 5.10.1 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.