从Python导入mayavi时在UI上出现黑色背景弹窗(Mavericks/Canopy)

0 投票
1 回答
1120 浏览
提问于 2025-04-17 22:14

图片画廊: https://i.stack.imgur.com/44pVU.jpg

我刚刚从enthought安装了新的Canopy 1.3版本。我打开了ipython,并且顺利导入了mayavi的mlab。然后我用下面的代码绘制了一个3D球体,也没有问题:

import mayavi
from mayavi import mlab
mlab.points3d(1,1,1)
mlab.show()

我得到了我预期的结果(请看画廊中的图#2)。接着我可以顺利打开场景编辑器(见画廊中的图#1),但是当我尝试打开其他任何编辑器时,屏幕上却出现了一个奇怪的黑色背景,没有任何文字:

scalarscatter编辑器

这个问题影响了除了场景编辑器以外的所有其他编辑器。根据他们网站上的说明,我在卸载Canopy后重启电脑并重新安装Canopy时,这个问题依然存在。无论是32位还是64位的安装,问题都没有解决,而且在命令行运行mayavi2时也会出现这个问题。当我打开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包。我正在使用Canopy自带的python。过去在使用EPD时从没有遇到过类似的问题,只有在我电脑上安装Canopy 1.3之后才出现。

我在网上搜索过,找不到其他人抱怨这个问题。如果你有任何想法,请告诉我。我真的希望能使用ipython笔记本功能,而不是每次都打开Canopy.app。

任何帮助都将非常感谢!

1 个回答

1

几点说明:

1) 你可以这样做:ETS_TOOLKIT=qt4 ipython notebook --pylab qt (这些设置在Canopy应用中是默认的)。

2) 确保你是从终端启动Canopy用户的Python。终端里的sys.prefix应该和Canopy的(i)Python环境中的一样。想了解更多,可以查看这个链接:https://support.enthought.com/entries/23646538-Make-Canopy-User-Python-be-your-default-Python

3) 顺便说一下,IPython notebook可以直接在Canopy里使用(文件 / 新建 / IPython Notebook),不过老实说,使用体验还是没有在普通浏览器里好,尤其是在Mac上。希望在Canopy 1.4或1.5版本中能有所改善,这样你就可以享受到两者的优点了。

撰写回答