无法使用设想的后端将可视化加载到Mayavi2 UI中

时间:2017-01-04 18:54:58

标签: python enthought mayavi

我在Python中使用mayavi2 / mlab创建了一个可视化,我需要一种方法与我的主管共享它。他没有任何编程技巧,所以我希望他只需用我创建的所有平面和颜色打开模型,然后就可以玩它。

我在Python中将其保存到文件中:

engine = mlab.get_engine()
engine.save_visualization('./Results/3DModel.mv2')

当我尝试通过'File>使用Mayavi2(设想后端)用户界面打开'3DModel.mv2'时加载可视化'我得到这个例外:

Exception
In /usr/local/lib/python2.7/dist-packages/apptools/persistence/state_pickler.py:924
TypeError: Given object is neither a file or String (in _get_file_read)

提前致谢!

1 个答案:

答案 0 :(得分:0)

我不知道为什么这些函数会以这种方式工作,但我修改了源文件state_pickler.py并删除了state_pickler.pyc:

def _get_file_read(f):
    if hasattr(f, 'read'):
        return f
    else:
        return open(f, 'rb')

def _get_file_write(f):
    if hasattr(f, 'write'):
        return f
    else:
        return open(f, 'wb')

现在它正在发挥作用。 f的类型是unicode。