在安装完GDCM后,我发现在同时使用pydicom和SimpleITK时,如果import顺序不对,在程序运行结束时可能会报错。
提示:
*** Error in `python': double free or corruption (!prev): 0x0000000002321ef0 ***
如下:
经过尝试,发现应该是由gdcm带来的隐藏问题,在程序结束时,pydicom由于需要用到gdcm,而导致pydicom和SimpleITK对内存重复释放,造成报错。
会引起报错的import顺序:
import pydicom(或gdcm)
import SimpleITK
不会引起报错的import顺序:
import SimpleITK
import pydicom(或gdcm)
如果遇到这种情况,一般调整依赖包的import顺序即可。