Я использую пакет «units» Python (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 SDK 1.4 1
Интересной. Ясно, что не * ideal *, но должен позволять мне разбираться, пока библиотека не будет обновлена. Я думаю, что я просто буду определять это в классе, так как я включаю его локально. Я сейчас свяжусь с автором, и я посмотрю, что они думают. – woodardj