ValueError: cannot set toolkit to wx because it has already been set to qt4
ValueError: cannot set toolkit to wx because it has already been set to qt4
下面导入
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
.
不知道我的回答现在是否相关,但这对我有帮助:
我的机器上有 PyQt4,但我已经为 Mayavi 安装了 wxPython,因此它们存在冲突。我已经删除了 wxPython,现在它运行得非常完美。
SO 上有一个 post:
How to get MayaVi2 to default to/use Qt rather than wx?
它显示了如何设置 qt4,而不必卸载 wxPython(正如其他答案所建议的那样):
export ETS_TOOLKIT=qt4
我在 Mayavi 的问题部分发现了它 github : Issue 265
伙计,也许你犯了和我一样的愚蠢错误,哈哈。
同样的错误
我试图使用 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
,那么这是你的错导致了这个错误。
下面导入
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
.
不知道我的回答现在是否相关,但这对我有帮助: 我的机器上有 PyQt4,但我已经为 Mayavi 安装了 wxPython,因此它们存在冲突。我已经删除了 wxPython,现在它运行得非常完美。
SO 上有一个 post:
How to get MayaVi2 to default to/use Qt rather than wx?
它显示了如何设置 qt4,而不必卸载 wxPython(正如其他答案所建议的那样):
export ETS_TOOLKIT=qt4
我在 Mayavi 的问题部分发现了它 github : Issue 265
伙计,也许你犯了和我一样的愚蠢错误,哈哈。
同样的错误
我试图使用 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
,那么这是你的错导致了这个错误。