Anaconda3 Jupyter Notebook导入VoigtFit包报Asplund2009.dat缺失错如何解决
问题原因
这个报错不是需要你单独额外下载Asplund相关文件,是两类已知问题导致:
- 当前你安装的VoigtFit发行版打包时遗漏了static目录下的配套数据文件
- 包源码中的路径拼接逻辑硬编码了Unix系统的路径分隔符
/,在Windows系统运行时路径解析错误,无法定位到对应文件
修复步骤
- 定位本地VoigtFit包的安装目录,报错信息中已经给出路径:
~\anaconda3\lib\site-packages\VoigtFit\,进入该目录 - 检查目录下是否存在
static文件夹,若不存在则手动新建同名文件夹 - 进入
VoigtFit/utils/目录,打开Asplund.py文件,修改路径拼接逻辑:
找到代码中拼接文件路径的部分,将原来硬编码拼接的写法替换为适配多系统的os.path.join写法,修改后参考代码如下:import os # 原有root_path定义保留不变 datafile = os.path.join(root_path, 'static', 'Asplund2009.dat') # 下方Lodders2009.dat的路径也按照相同规则修改 fname = os.path.join(root_path, 'static', 'Lodders2009.dat') - 确认
static目录下存在Asplund2009.dat和Lodders2009.dat两个文件,若不存在可以从VoigtFit源码包的static目录下拷贝对应文件放入 - 重启Jupyter Notebook内核,重新执行
import VoigtFit即可正常导入
内容的提问来源于stack exchange,提问作者Dila
相关产品推荐
相关产品推荐

