FSL 报错 module not found error, no module named “dicom.values“

之所以报错 module not found error, no module named "dicom.values"是因为 FSL python 无法调用conda python环境。这是可能是同时装了conda和FSL环境,两者都有Python导致的。

尽管网上有说是pydicom版本的问题,实际上目前的环境版本都正常。
而要修复这个bug,只要通过修改pydicom_compat.py文件就可以完成。
主要修改两处,将 import pydicom 改成 import dicom as pydicom;将 read_file = pydicom.read_file 改成 from pydicom.dicomio import read_file既可。完整的pydicom_compat.py文件路径和对应部分的codes如下。

./fsl/fslpython/envs/fslpython/lib/python3.7/site-packages/nibabel/pydicom_compat.py
try:
    import pydicom #  dicom as pydicom
except ImportError:
    print("dicom    does not   exist                   !!! ")
    try:
        import pydicom
    except ImportError:
        have_dicom = False
    else:  # pydicom module available
        from pydicom.dicomio import read_file
        from pydicom.sequence import Sequence
        # Values not imported by default
        import pydicom.values
else:  # dicom module available
    print("dicom         exist              !!!")
    # Values not imported by default
    import dicom.values
    from dicom.sequence import Sequence
    read_file = pydicom.read_file

try:
    import dicom as pydicom
except ImportError:
    print("dicom    does not   exist                   !!! ")
    try:
        import pydicom
    except ImportError:
        have_dicom = False
    else:  # pydicom module available
        from pydicom.dicomio import read_file
        from pydicom.sequence import Sequence
        # Values not imported by default
        import pydicom.values
else:  # dicom module available
    print("dicom         exist              !!!")
    # Values not imported by default
    import pydicom.values
    from pydicom.sequence import Sequence
    from pydicom.dicomio import read_file

对于其他的fsl工具,也需要引用fsl的python而不是conda中提供的
/softwares/fsl/fslpython/envs/fslpython/bin/python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值