簡體   English   中英

自定義派生數量的 KeyError

[英]KeyError with custom derived quantity

我已經定義了一個新的派生維度

[molar_energy] = [energy] / [substance]

但是,如果我執行以下操作,它會抱怨:

>>> UR.get_compatible_units('[molar_energy]')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/cedric/.local/share/virtualenvs/MatDB--uGOYMXa/lib/python3.9/site-packages/pint/registry.py", line 881, in get_compatible_units
    equiv = self._get_compatible_units(input_units, group_or_system)
  File "/Users/cedric/.local/share/virtualenvs/MatDB--uGOYMXa/lib/python3.9/site-packages/pint/registry.py", line 2082, in _get_compatible_units
    ret = super()._get_compatible_units(input_units, group_or_system)
  File "/Users/cedric/.local/share/virtualenvs/MatDB--uGOYMXa/lib/python3.9/site-packages/pint/registry.py", line 1835, in _get_compatible_units
    ret = super()._get_compatible_units(input_units, group_or_system)
  File "/Users/cedric/.local/share/virtualenvs/MatDB--uGOYMXa/lib/python3.9/site-packages/pint/registry.py", line 891, in _get_compatible_units
    return self._cache.dimensional_equivalents[src_dim]
KeyError: <UnitsContainer({'[length]': 2, '[mass]': 1, '[substance]': -1, '[time]': -2})

我看到上下文中包含一個轉換,但我不使用它。 我做錯了什么?

謝謝你的幫助

PS:記錄的問題https://github.com/hgrecco/pint/issues/1418

只需將解決方案留給同樣面臨此問題的任何人。

我剛剛添加了一個組合單元並且它有效

# Molar Energy
[molar_energy] = [energy] / [substance]
mol_en = J / mol

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM