报错:
AttributeError: 'ImageChangeInformation' object has no attribute 'set_update_extent'
Cannot contour: No scalars in input data!
traits.trait_errors.TraitError: The 'vector_component' trait of a SmartVolumeMapper instance must be 0 <= a long integer <= 3, but a value of 1750425008 <class 'int'> was specified.
找了一天这个错误,终于找到正解:
而且解答者称这个错误仅存在于linux和osx上,也不知道他是开发者还是怎么着。
要改变vecor_component这个变量的定义,只是改该行,
从
vector_component = traits.Trait(2037150581, 2037150581, traits.Range(0, 3, enter_set=True, auto_set=False), help=\
改成
vector_component = traits.Trait(-1, help=\
这个变量位于下列地址的文件中:
/usr/local/lib/python3.6/dist-packages/mayavi-4.5.1.dev0-py3.6-linux-x86_64.egg/tvtk/tvtk_classes.zip/smart_volume_mapper.py
没有错,这个文件在一个压缩文件里,所以不方便直接改,要拷贝出来,自己放个地方。
解压后修改,修改好后再压缩。
然后进入拷贝的文件目录,运行:
sudo cp ./tvtk_classes.zip /usr/local/lib/python3.6/dist-packages/mayavi-4.5.1.dev0-py3.6-linux-x86_64.egg/tvtk/tvtk_classes.zip
这样就拷回去了,再执行代码就没有此类错误了。