Астропия не может разобрать дюймы - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь преобразовать inches в mm с astropy .На входе у меня единица в виде строки («дюйм», «мм»).Я создаю для него пример функции:

    def astro_conv(self, amount: float, fromm: str, to: str) -> float:
         u_from = u.Unit(fromm)
         u_to = u.Unit(to)
         return u_from.to(u_to, amount)

Я получил сообщение: {ValueError}'inch' did not parse as unit: At col 0, inch is not a valid unit. У меня есть документация для проверки и inch должно быть доступно: http://docs.astropy.org/en/stable/units/ Что я делаю не так?

1 Ответ

1 голос
/ 11 марта 2019

Согласно документам , Astropy не включает имперские единицы, определенные по умолчанию.Я думаю, что это частично для того, чтобы уменьшить пространство имен единиц по умолчанию и накладные расходы, связанные с его созданием и поиском, и имперские единицы в этом случае приносятся в жертву, так как они по большей части используются в астрономии:

Этот пакет определяет разговорные используемые имперские единицы.Они доступны в пространстве имен astropy.units.imperial, но не в пространстве имен astropy.units верхнего уровня, например:

>>> import astropy.units as u
>>> mph = u.imperial.mile / u.hour
>>> mph
Unit("mi / h")

Чтобы включить их в состав и результатыfind_equivalent_units, до:

>>> import astropy.units as u
>>> u.imperial.enable()  
...