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')
,
И поскольку это кажется проблемой в модуле, убедитесь, что используемая строка заранее правильно декодирована.