次のコードの 2 番目の部分を実行しようとすると、このあいまいなモジュールに問題が発生します。
fuzz.partial_ratio("this is a test", "this is a test!")
次のようなエラーが発生します。
Traceback (most recent call last):
File "<ipython-input-44-f5783c7c4393>", line 1, in <module>
fuzz.partial_ratio("this is a test", "this is a test!")
File "/usr/lib/python3/dist-packages/fuzzywuzzy/utils.py", line 23, in decorator
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/utils.py", line 32, in decorator
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/fuzz.py", line 69, in partial_ratio
blocks = m.get_matching_blocks()
File "/usr/lib/python3/dist-packages/fuzzywuzzy/StringMatcher.py", line 58, in get_matching_blocks
self._str1, self._str2)
TypeError: inverse expected a list of edit operations
最後の部分を実行しようとしたときの2番目のもの:
process.extractOne("cowboys", choices)
次のようなエラーが発生します。
Traceback (most recent call last):
File "<ipython-input-45-8f425ac79b9d>", line 1, in <module>
process.extractOne("cowboys", choices)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/process.py", line 161, in extractOne
best_list = extract(query, choices, processor, scorer, limit=1)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/process.py", line 110, in extract
score = scorer(query, processed)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/fuzz.py", line 247, in WRatio
partial = partial_ratio(p1, p2) * partial_scale
File "/usr/lib/python3/dist-packages/fuzzywuzzy/utils.py", line 23, in decorator
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/utils.py", line 32, in decorator
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/fuzzywuzzy/fuzz.py", line 69, in partial_ratio
blocks = m.get_matching_blocks()
File "/usr/lib/python3/dist-packages/fuzzywuzzy/StringMatcher.py", line 58, in get_matching_blocks
self._str1, self._str2)
TypeError: inverse expected a list of edit operations
これらの 2 つを除いて、他のすべてのコードは正常に機能しています。これを修正するにはどうすればよいですか? 現在、ubuntu 14.04LTS と Spyder を使用して Python を実行しています。
編集:levenshtein、fuzzywuzzy、およびdifflibモジュールを再インストールしようとしました。それでも同じ問題が発生します。ubuntuを使っているからでしょうか?デュアル ブート Windows 10 を使用して実行しようとすると、動作するからです。