繁体   English   中英

在具有PyQT5的macOS上使用Mayavi

[英]Using Mayavi on macOS with PyQT5

我尝试使用以下命令在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, 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

我相信错误是因为Homebrew仅支持Qt5和PyQT5,而Mayavi在后台寻找PyQT4。 有没有办法让Mayavi与PyQT5一起使用,还是有办法在brew上安装PyQT4?

当然,问题可能出在其他地方。

谢谢!

一种替代方法是使用wx而不是qt,请参阅此处的文档: docs.enthought.com/mayavi/mayavi/installation.html

然后,设置环境变量export ETS_TOOLKIT = wx-值得尝试。

我建议不要使用wx; 我遇到了很多麻烦,无法运行Mayavi示例(更不用说与虚拟环境不兼容了 )。 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不会寻找其他后端。

FWIW PyQt5在Python 2x上不可用(至少作为PyPI包提供)-我看到您正在运行Python 2.7。 您可以执行pip3 PyQt5 ,但是mayavi依赖项将需要对Python 3进行额外设置-特别是pip3 install traitsui

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM