我最近将Astropy更新为新的3.2(.1)版本。突然开始出现了许多AstropyDeprecation警告。 我以前是这样处理的:
from astropy.utils.exceptions import AstropyDeprecationWarning
import warnings
warnings.simplefilter('ignore', category = AstropyDeprecationWarning)
但是,使用此新的Astropy版本,该过滤器基本上会被忽略,并且警告会不断显示。 这不是一个至关重要的问题,代码当然可以工作,但是我想摆脱它们,因为它们会使输出更难以阅读。有办法解决这个问题吗?我在做错什么吗?
谢谢!
编辑:
我经常看到的两个警告是:
WARNING: AstropyDeprecationWarning: astropy.extern.six will be removed in 4.0, use the six module directly if it is still needed [astropy.extern.six]
WARNING: AstropyDeprecationWarning: Composition of model classes will be removed in 4.0 (but composition of model instances is not affected) [astropy.modeling.core]
我认为第二个警告是由于我将高斯模型和背景结合在一起的这一行代码而产生的:
model = models.Gaussian1D(amplitude = flux.max()*0.9, mean = 0., stddev = size) \
+ models.Const1D(amplitude = flux.min()*0.9)
我不知道第一个警告来自何处。我没有明确导入astropy.extern.six(我实际上不知道它是什么),因此它可能与第二次警告或第三方代码有关。
编辑v2:
我对此进行了更多研究,因为模型组合并不像我最初想到的那样对警告负责。显然astropy.extern.six警告来自:
from astroquery.ned import Ned
虽然模型类组成的警告来自:
import photutils as ph