以下导入
from mayavi import mlab
生成value error。
我使用setuptools(as described here)安装了Mayavi。 gui工作得很好(这里和那里的一些错误,但我仍然可以使用模块等)。我猜测有些东西没有顺利安装。任何建议我如何修复我的安装(如果这是问题所在)?
修改1:
我卸载mayavi并重新安装它(使用pip),但valueError
仍然存在。
编辑2:
我安装的系统是虚拟Ubuntu 15.04
(使用VMware 6.0.6)。我已粘贴pip install mayavi output here。
编辑3:
重新安装以前版本的Mayavi : 4.3.1
后,我仍然会收到相同的错误。我正在使用Python : 2.7.9
。
答案 0 :(得分:2)
不知道,我的答案现在是否相关,但这对我有所帮助: 我的机器上有PyQt4,但是我已经为Mayavi安装了wxPython,所以它们是冲突的。我已经删除了wxPython,现在它的工作非常完美。
答案 1 :(得分:2)
SO上有一篇文章:
How to get MayaVi2 to default to/use Qt rather than wx?
它显示了如何设置qt4,而不必卸载wxPython(如另一个答案所示):
export ETS_TOOLKIT=qt4
我在Mayavi github的问题部分找到了它:Issue 265
答案 2 :(得分:0)
老兄,也许你和我犯了同样的愚蠢错误, LOL 。
我试图使用WXAgg
作为matplotlib和traitsui的后端,但我得到了RuntimeError: Importing from wx backend after selecting qt4 backend
。导入部分如下:
import matplotlib
# We want matplotlib to use a wxPython backend
matplotlib.use('WXAgg')
import wx
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from traits.api import Instance
from traitsui.wx.editor import Editor
from traitsui.wx.basic_editor_factory import BasicEditorFactory
然后我尝试使用以下代码手动更改后端:
from traits.etsconfig.api import ETSConfig
ETSConfig.toolkit = 'wx'
猜猜是什么,我和你一样ValueError: cannot set toolkit to wx because it has already been set to qt4
。
经过几个小时的搜索和调试,我几乎放弃了,直到我突然想起我已经将这个变量系统设置为一次。多么愚蠢我不遵循这个提示并检查ETS_TOOLKIT
!
再次遇到此错误的任何人,请在Linux上使用echo $ETS_TOOLKIT
或在Windows上使用echo %ETS_TOOLKIT%
检查系统设置。如果它显示qt4
,那么导致此错误就是您的错误。