Python 在带有PyQT5的macOS上使用Mayavi
我尝试使用以下方法在macOS(当前运行的是Sierra)上安装Mayavi:Python 在带有PyQT5的macOS上使用Mayavi,python,pyqt,homebrew,mayavi,Python,Pyqt,Homebrew,Mayavi,我尝试使用以下方法在macOS(当前运行的是Sierra)上安装Mayavi: brew install --with-qt5 vtk brew install mayavi 这在理论上应该是可行的,但现在当我尝试在代码中使用Mayavi时,我得到了以下错误: Traceback (most recent call last): File "test.py", line 32, in <module> mlab.figure(1, bgcolor=(1, 1,
brew install --with-qt5 vtk
brew install mayavi
这在理论上应该是可行的,但现在当我尝试在代码中使用Mayavi时,我得到了以下错误:
Traceback (most recent call last):
File "test.py", line 32, in <module>
mlab.figure(1, bgcolor=(1, 1, 1), fgcolor=(0, 0, 0), size=(400, 300))
File "/usr/local/lib/python2.7/site-packages/mayavi/tools/figure.py", line 63, in figure
engine = get_engine()
File "/usr/local/lib/python2.7/site-packages/mayavi/tools/engine_manager.py", line 101, in get_engine
return self.new_engine()
File "/usr/local/lib/python2.7/site-packages/mayavi/tools/engine_manager.py", line 146, in new_engine
check_backend()
File "/usr/local/lib/python2.7/site-packages/mayavi/tools/engine_manager.py", line 49, in check_backend
''')
ImportError: Could not import backend for traits
_______________________________________________________________________________
Make sure that you have either the TraitsBackendWx or the TraitsBackendQt
projects installed. If you installed Mayavi with easy_install, try
easy_install <pkg_name>. easy_install Mayavi[app] will also work.
If you performed a source checkout, be sure to run 'python setup.py install'
in Traits, TraitsGUI, and the Traits backend of your choice.
Also make sure that either wxPython or PyQT is installed. wxPython:
http://www.wxpython.org/ PyQT:
http://www.riverbankcomputing.co.uk/software/pyqt/intro
回溯(最近一次呼叫最后一次):
文件“test.py”,第32行,在
图(1,bgcolor=(1,1,1),fgcolor=(0,0,0),size=(400300))
文件“/usr/local/lib/python2.7/site packages/mayavi/tools/figure.py”,图中第63行
引擎=获取引擎()
文件“/usr/local/lib/python2.7/site packages/mayavi/tools/engine\u manager.py”,第101行,在get\u引擎中
返回self.new_引擎()
文件“/usr/local/lib/python2.7/site packages/mayavi/tools/engine\u manager.py”,第146行,在new\u engine中
检查_backend()
文件“/usr/local/lib/python2.7/site packages/mayavi/tools/engine\u manager.py”,第49行,在check\u backend中
''')
ImportError:无法导入特性的后端
_______________________________________________________________________________
确保您有TraitsBackendWx或TraitsBackendQt
已安装的项目。如果您使用easy_install安装了Mayavi,请尝试
易于安装。easy_install Mayavi[应用程序]也可以使用。
如果执行了源代码签出,请确保运行“python setup.py install”
在Traits、TraitsGUI和您选择的Traits后端中。
还要确保安装了wxPython或PyQT。wxPython:
http://www.wxpython.org/ PyQT:
http://www.riverbankcomputing.co.uk/software/pyqt/intro
我相信错误在于Homebrew只支持Qt5和PyQT5,而Mayavi正在后台寻找PyQT4。有没有办法让Mayavi使用PyQT5,或者有没有办法用brew
安装PyQT4
当然,问题可能出在别处
谢谢 另一种选择是使用wx而不是qt,请参见此处的文档:
然后,设置环境变量export-ETS\u-TOOLKIT=wx-值得一试。另一种方法是使用wx而不是qt,请参阅此处的文档:
然后,设置环境变量export ETS_TOOLKIT=wx——值得一试。我建议不要使用wx;我在运行Mayavi示例时遇到了一大堆问题(更不用说了)。从以下方面: Mayavi本身应该与新的wxPython 4.x配合使用。但是,traitsui、pyface和其他ETS软件包还不支持它,因此UI无法正常工作。旧版本应该可以使用。PyQt/PySide应该在很大程度上是开箱即用的 下面介绍如何在macOS Sierra+上安装带PyQt4的Mayavi:
brew install vtk
brew tap cartr/qt4
brew tap-pin cartr/qt4
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
brew install pyside
pip install mayavi
这些步骤确保您得到的是v4,而不是默认的v5。您可能需要执行unset ETS_TOOLKIT
,以确保mayavi不会寻找其他后端
Python2X没有FWIW PyQt5(至少作为PyPI包),我看到您正在运行Python2.7。您可以执行
pip3pyqt5
,但是mayavi依赖项将需要为Python3进行额外的设置——特别是pip3installtraitsui
,我建议不要使用wx;我在运行Mayavi示例时遇到了一大堆问题(更不用说了)。从以下方面:
Mayavi本身应该与新的wxPython 4.x配合使用。但是,traitsui、pyface和其他ETS软件包还不支持它,因此UI无法正常工作。旧版本应该可以使用。PyQt/PySide应该在很大程度上是开箱即用的
下面介绍如何在macOS Sierra+上安装带PyQt4的Mayavi:
brew install vtk
brew tap cartr/qt4
brew tap-pin cartr/qt4
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
brew install pyside
pip install mayavi
这些步骤确保您得到的是v4,而不是默认的v5。您可能需要执行unset ETS_TOOLKIT
,以确保mayavi不会寻找其他后端
Python2X没有FWIW PyQt5(至少作为PyPI包),我看到您正在运行Python2.7。您可以执行
pip3 PyQt5
,但是mayavi依赖项将需要对Python 3进行额外的设置——特别是pip3安装traitsui
另一种方法是使用wx而不是qt->并设置环境变量export ETS_TOOLKIT=wx
,值得一试。。。因此,通过brew
安装wxPython似乎解决了这个问题。我认为mayavi会自动找到任何受支持的后端。如果你想回答我的意见,我会接受的。谢谢另一种方法是使用wx而不是qt->,并设置环境变量export ETS\u TOOLKIT=wx
值得一试。。。因此,通过brew
安装wxPython似乎解决了这个问题。我认为mayavi会自动找到任何受支持的后端。如果你想回答我的意见,我会接受的。谢谢