Я использую Windows 10, Python 3.6 и последнюю версию PyInstaller.Я пытаюсь развернуть код, использующий модуль дедупликации, и получаю очень общую ошибку при попытке запустить Blocker с предикатами:
Traceback (most recent call last):
File "deduping.py", line 227, in <module>
File "deduping.py", line 223, in main
File "deduping.py", line 182, in dedupe
File "deduping.py", line 92, in create_distance_matrix_blocking_based
File "lib\site-packages\dedupe\blocking.py", line 45, in __call__
File "lib\site-packages\dedupe\predicates.py", line 300, in __call__
File "lib\site-packages\dedupe\predicates.py", line 300, in <listcomp>
File "lib\site-packages\dedupe\predicates.py", line 156, in __call__
File "lib\site-packages\dedupe\tfidf.py", line 36, in search
File "lib\site-packages\dedupe\canopy_index.py", line 61, in apply
AttributeError: 'IFBucket' object has no attribute 'byValue'
Когда я запускаю код в обычном Python, он работает.Я понятия не имею, какой модуль не может загрузить, я думаю, что это zope.index, потому что загружены все предикаты и классы блокировщиков.
Я добавил хук для модуля дедупликации:
from PyInstaller.utils.hooks import collect_all,collect_data_files
datas, binaries, hiddenimports = collect_all('dedupe')
И увидел это предупреждение:
42736 INFO: Loading module hook "hook-dedupe.py"...
43816 INFO: Determining a mapping of distributions to packages...
53426 WARNING: Unable to find package for requirement dedupe-variable-datetime from package dedupe.
53426 WARNING: Unable to find package for requirement categorical-distance from package dedupe.
53426 WARNING: Unable to find package for requirement fastcluster from package dedupe.
53426 WARNING: Unable to find package for requirement dedupe-hcluster from package dedupe.
53426 WARNING: Unable to find package for requirement zope.index from package dedupe.
53426 WARNING: Unable to find package for requirement Levenshtein-search from package dedupe.
53426 INFO: Packages required by dedupe:
['simplecosine', 'highered', 'numpy', 'affinegap', 'BTrees', 'simplejson', 'future', 'doublemetaphone', 'rlr', 'haversine']
Я попытался добавить zope.index в качестве скрытого импорта, но это не помогло.Я хотел бы получить какое-то руководство, поскольку никакой полезной ошибки не появляется.