2014-04-21 6 views
0

나는 simhash를 실행하기 위해 Mac에서 동일한 설정과 코드를 사용합니다.파이썬 simhash는 우분투에서 작동하지 않습니다

하지만 우분투에서 실행하면 심해 자체의 구현에 버그가 있습니다.

이러한 문제가 발생 했습니까?

objs = [(str (k), Simhash (v)) for k, index_data.items()] 파일 "/usr/local/lib/python2.7/dist-packages/simhash-1.1 0.2-py2.7.egg/simhash/INIT 평 "선 (30), 초기화하기 self.build_by_text (유니 (값)) UnicodeDecodeError는 'ASCII'코덱 위치 바이트 0xf6을 디코딩 할 수없는 34 : 서수가 범위 내에 없음 (128)

+0

우분투가 새 LTS를 방금 출시했습니다. 그 버전에 있습니까? 이 질문을 askubuntu.com으로 이동하는 것이 더 낫습니다. –

답변

0

이 오류는 str (k)을 올바르게 디코딩 할 수 없다는 것을 알려줍니다. 나는 데이터에서 오는하고 실제로 무엇을 위치를 알 수 없기 때문에, 그냥 뭔가
같은

str(k).decode('cp850') 

또는

Simhash(v.decode('cp850')) 


이 도움이 될 수 있다고 말할 수있다. 문자열이 cp850에 있다고 가정합니다. 적어도 '\xf6'.decode('cp850')을 할 수 있습니다.

모듈 내에서 문제가있는 것 같습니다. 사용되는 문자열이 미리 올바르게 디코딩되었는지 확인하십시오.

+0

오류가 Simhash (v)에서 발생했다고 생각하십니까? – Ben

+0

정확히 어디에 문제가 있는지 알 수는 없지만 추적 오류가 인코딩 오류라고 알려줍니다. 문자열에 인코딩 (UTF-8, cp850 등)이 있으며 Simhash에서 잘 처리하지 못합니다. 그래서 가능하다면 문자열을 심화하기 전에 문자열을 유니 코드로 변환해야합니다. – Daniel