我正在使用 Python“units”包(http://pypi.python.org/pypi/units/),在尝试腌制它们时遇到了一些麻烦。我试图将其归结为最简单的案例,以尝试弄清楚发生了什么。这是我的简单测试:
from units import unit, named_unit
from units.predefined import define_units
from units.compatibility import compatible
from units.registry import REGISTRY
a = unit('m')
a_p = pickle.dumps(a)
a_up = pickle.loads(a_p)
logging.info(repr(unit('m')))
logging.info(repr(a))
logging.info(repr(a_up))
logging.info(a.is_si())
logging.info(a_up.is_si())
logging.info( compatible(a,a_up) )
logging.info(a(10) + a_up(10))
我运行时看到的输出是:
LeafUnit('m', True)
LeafUnit('m', True)
LeafUnit('m', True)
True
True
False
IncompatibleUnitsError
如果不是因为 repr() 为它们返回相同的结果,我会理解酸洗单元是否破坏了它们。我错过了什么?
这是使用单位包的 v0.04 和 Google App Engine 1.4 SDK 1