0

Macでsimhashを実行するための同じセットアップとコードがありますが、動作します。

しかし、Ubuntuで実行すると、simhashの実装自体にバグがあると不平を言います。

このような問題に遭遇したことがありますか?

objs = [(str(k), Simhash(v)) for k, v in 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' コーデックは位置 34 のバイト 0xf6 をデコードできません: 序数が範囲内にありません (128)

4

1 に答える 1

0

このエラーは、 str(k) を正しくデコードできないことを示しています。データがどこから来て、実際に何であるかがわからないので、次のようなことを言うことができます

str(k).decode('cp850')

また

Simhash(v.decode('cp850'))

役立つかもしれません。文字列が cp850 にあると仮定します。少なくとも私はできる'\xf6'.decode('cp850')

それはモジュール内の問題のようですので、使用されている文字列が適切にデコードされていることを事前に確認してください。

于 2014-04-21T20:10:26.690 に答える