使用以前版本的常量#

默认情况下, astropy.units 在第一次导入时初始化以使用的当前版本 astropy.constants . 要使单元正确初始化为以前版本的常量,必须在第一次导入之前设置常量版本 astropy.unitsastropy.constants .

这是通过以下方式完成的 ScienceState 顶级包中的类。在Python会话开始时设置以前的版本将允许一致的单位。

例子#

要将单位初始化为以前版本的常量:

>>> import astropy
>>> astropy.physical_constants.set('codata2010')  
<ScienceState physical_constants: 'codata2010'>
>>> astropy.astronomical_constants.set('iau2012')  
<ScienceState astronomical_constants: 'iau2012'>
>>> import astropy.units as u
>>> import astropy.constants as const
>>> (const.M_sun / u.M_sun).to(u.dimensionless_unscaled) - 1  
<Quantity 0.>
>>> print(const.M_sun)  
  Name   = Solar mass
  Value  = 1.9891e+30
  Uncertainty  = 5e+25
  Unit  = kg
  Reference = Allen's Astrophysical Quantities 4th Ed.

如果 astropy.units 已导入,则为 RuntimeError 都被养大了。