在学习《Python科学计算三维可视化》慕课过程中,当学习到IVTK观察管线一节时,提到一组代码,如下所示:
from tvtk.api import tvtk
from tvtk.tools import ivtk
from pyface.api import GUI
s = tvtk.CubeSource(x_length=1.0, y_length=2.0, z_length=3.0)
m = tvtk.PolyDataMapper(input_connection=s.output_port)
a = tvtk.Actor(mapper=m)
#创建一个带Crust(Python Shell)的窗口
gui = GUI()
win = ivtk.IVTKWithCrustAndBrowser()
win.open()
win.scene.add_actor(a)
#开始界面消息循环
gui.start_event_loop()
原课程可以顺利运行并打开相应的GUI窗口,但我自己运行却报错:
File "D:\python310\lib\site-packages\pyface\base_toolkit.py", line 165, in init
raise NotImplementedError(msg % (toolkit, package, name))
NotImplementedError: the null pyface.ui.null backend doesn't implement gui:GUI
请问是因为代码本身存在问题,还是因为我没有安装某些包?亦或是因为课程使用的是Python3.6,我用的是Python3.10?