从python导入mayavi会在UI上创建黑色背景的弹出窗口(Mavericks/Canopy)

从python导入mayavi会在UI上创建黑色背景的弹出窗口(Mavericks/Canopy),python,enthought,mayavi,Python,Enthought,Mayavi,图片库: 我刚从Enthough安装了新版本的Canopy 1.3。我打开了ipython,毫无疑问地导入了mayavi的mlab。然后,我使用以下方法绘制了一个没有问题的三维球体: import mayavi from mayavi import mlab mlab.points3d(1,1,1) mlab.show() 我得到了我所期望的(参见图库中的图2)。然后,我可以毫无问题地打开场景编辑器(参见图库中的图1),但当我尝试打开任何其他traits编辑器时,我会得到一个奇怪的黑色背景,没

图片库:

我刚从Enthough安装了新版本的Canopy 1.3。我打开了ipython,毫无疑问地导入了mayavi的mlab。然后,我使用以下方法绘制了一个没有问题的三维球体:

import mayavi
from mayavi import mlab
mlab.points3d(1,1,1)
mlab.show()
我得到了我所期望的(参见图库中的图2)。然后,我可以毫无问题地打开场景编辑器(参见图库中的图1),但当我尝试打开任何其他traits编辑器时,我会得到一个奇怪的黑色背景,没有文本:

此问题影响场景编辑器以外的所有其他编辑器。在按照其网站上的说明卸载canopy、重新启动计算机并重新安装canopy后,已复制了该文件。尽管重新安装了32位和64位安装,但它仍然存在,并且在从命令行运行时也会影响mayavi2。当我打开Canopy时,我没有遇到此错误。打开一个应用程序并从Canopy内部运行所有内容,这对于我当前的工作流程来说不是一个可行的选项(我想使用ipython笔记本电脑)

我通过stderr得到的唯一错误似乎与此无关:

Python[4434:d0f] CoreText performance note: Client called CTFontCreateWithName() using name ".Lucida Grande UI" and got font with PostScript name ".LucidaGrandeUI". For best performance, only use PostScript names when calling this API.
Python[4434:d0f] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
我已经使用内置安装程序更新了所有的canopy软件包。我正在使用内置的python来实现canopy。我过去在环保署从来没有遇到过类似的问题,只是在我的电脑上安装了Canopy 1.3之后

我已经在互联网上搜索过,没有找到关于这个问题的任何其他投诉。如果你有任何想法,请告诉我。我真的很想使用ipython笔记本功能,而不是每次都打开Canopy.app

任何帮助都将不胜感激

几点注意:

1) 这应该做到:
ETS\u TOOLKIT=qt4 ipython笔记本电脑--pylab qt
(这些设置是Canopy应用程序中的默认设置)

2) 确保您正在从终端启动Canopy用户Python<终端中的code>sys.prefix应该与Canopy(i)Python shell中的相同。有关详细信息,请参阅


3) FWIW,IPython笔记本电脑可以直接在Corpody中使用(File/New/IPython笔记本),但无可否认,这种体验仍然不如普通浏览器,尤其是Mac上的浏览器。通过1.4或1.5,我们希望它会是这样,这样您就可以两全其美。

这就像一个魅力!非常感谢你。我确实注意到了canopy里面的python笔记本,但它也有同样的问题(至少在我的电脑上)。如果笔记本电脑的性能与浏览器相当/更好,我会对它感兴趣。顺便问一下,ETS_TOOLKIT=qt4的作用是什么?看起来您正在定义一个设置参数以使用qt4;但是,如果我将该行添加到我的bash概要文件中,它不会解决这个问题。谢谢嗯,将
export ETS\u TOOLKIT=qt4
添加到.bash\u配置文件将具有相同的效果,除非在其他地方对其进行更改。这将设置mayavi的默认GUI后端,就像
--pylab qt
设置ipython一样。它们必须匹配,不幸的是,目前还没有在一个地方进行匹配的元方法。顺便说一句:重新堆叠溢出规范,请参阅: