Python Simhash не работает на Ubuntu

У меня те же настройки и код на Mac для запуска simhash, он работает.

Но когда я запускаю его в Ubuntu, он жалуется, что в реализации самого simhash есть ошибка.

Сталкивались ли вы с такой проблемой?

objs = [(str (k), Simhash (v)) для k, v в index_data.items()] Файл "/usr/local/lib/python2.7/dist-packages/simhash-1.1.2-py2. 7.egg / simhash /init.py ", строка 30, в init self.build_by_text (unicode (value)) UnicodeDecodeError: кодек" ascii "не может декодировать байт 0xf6 в позиции 34: порядковый номер не находится в диапазоне (128)

1 ответ

Решение

Ошибка говорит вам, что str(k) не может быть правильно декодирован. Поскольку я не знаю, откуда поступают данные и что это на самом деле, я могу просто сказать, что-то вроде

str(k).decode('cp850')

или же

Simhash(v.decode('cp850'))

может помочь. Предполагая, что строка находится в cp850. По крайней мере, я могу сделать '\xf6'.decode('cp850'),

И поскольку это кажется проблемой в модуле, убедитесь, что используемая строка заранее правильно декодирована.

Другие вопросы по тегам