Sunpy旧版本报错:module 'sunpy.net.vso.attrs'无'Time'属性
解决AttributeError: module 'sunpy.net.vso.attrs' has no attribute 'Time'
问题原因
你遇到的报错是因为sunpy版本更新后,Time 属性不再归属 sunpy.net.vso.attrs 模块,而是被统一移到了通用的 sunpy.net.attrs 模块中。旧版本sunpy可能允许从vso.attrs调用Time,但新版本已调整了属性结构,统一管理各类查询属性。
修复方案
修改代码中的属性调用方式,改用通用的sunpy.net.attrs模块来获取Time和Instrument属性:
修改后的完整代码
from sunpy.net import vso from sunpy.net import attrs as a client = vso.VSOClient() mydir = '.' # 替换vso.attrs.Time为a.Time,Instrument同理 qr = client.search(a.Time('2018/06/12 09:34:28', '2018/06/12 09:35:28'), a.Instrument('hmi')) print(qr) resp = input('Press [y] to download and [n] to exit') if resp == 'y': print('Downloading ...') res = client.fetch(qr, path=mydir+'/{file}').wait() else: print('END') print('END')
补充说明
你查看的sunpy主分支源码是最新开发版本,其中sunpy.net.vso.attrs确实没有Time类——所有查询属性(Time、Instrument等)都被整合到sunpy.net.attrs中,目的是让VSO、HEK等不同数据查询接口共用一套属性定义,提升代码兼容性和统一性。
内容的提问来源于stack exchange,提问作者Coolcrab
相关产品推荐
相关产品推荐

