Numpy与ehtim模块导入错误问题求助
问题修复方案
问题根源
这是Numpy版本更新引发的兼容性问题:Numpy 1.24及以上版本移除了直接从numpy导入bool、double这类旧类型别名的支持,而你使用的ehtim库代码仍在沿用旧的导入写法,导致触发导入错误。
具体修复步骤
方案1:降级Numpy到兼容版本
直接将Numpy降级至1.23.x系列,适配旧版ehtim的代码逻辑:
pip install numpy==1.23.5
如果使用虚拟环境,请先激活环境再执行上述命令。
方案2:临时修改ehtim库代码
找到报错文件:C:\Users\chris\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ehtim\io\oifits.py,打开后将第71行的:
from numpy import double, bool, ma
替换为:
from numpy import double, ma import numpy as np bool = np.bool_
该修改能快速绕开导入报错,无需调整整体依赖版本。
方案3:更新ehtim至最新版本
检查ehtim官方是否已修复Numpy 1.24+的兼容问题,执行更新命令:
pip install --upgrade ehtim
若官方已推送修复补丁,更新后即可直接解决问题。
验证修复
重新运行你的astroray_io.py脚本,若不再出现ImportError: cannot import name 'bool' from 'numpy'报错,即说明修复成功。
内容的提问来源于stack exchange,提问作者Chris Cross AppleSause
相关产品推荐
相关产品推荐

