2016-08-16 2 views
0

Я построил графический интерфейс tkinter для записи опроса в python3.4, который использует несколько пакетов. то мне нужно, чтобы скомпилировать его в исполняемый файл, так что я могу поставить его на машине с сотрудниками (мы оба на windows7 платформе) Я структурированы мой setup.py выглядеть следующим образом:cx_Freeze дает ошибку при использовании fuzzywuzzy

from cx_Freeze import setup, Executable 
import sys 

base = None 
if sys.platform == "win32": 
    base = "Win32GUI" 

setup(
     name='Survey Entry', 
     version='3.5', 
     license='MIT', 
     description='GUI For entering survey data', 
     executables= [Executable("Survey Entry.py", base=base)], 
     options={"build_exe":{"packages":['tkinter','cx_Oracle','datetime','time','enter_survey','lookup', 
              'queryfuncs','login','gui', 'datetime', 'add_respondent', 'possible_matches']}} 
) 

Это работало абсолютно нормально за тонны версий. Но затем я добавил функциональность, которая использует fuzzywuzzy для сравнения строк. Когда я включу это и добавлю fuzzywuzzy в список пакетов в словаре опций и скомпилирую его, я получаю большую ошибку, когда пытаюсь запустить exe, который заканчивается ImportError: No module named 'Levenshtein'

Я не понимаю, потому что в моем развитии модуль работает отлично. Я попытался включить Levenshtein в настройку, но он не существует в качестве модуля. У меня нет установленного python-Levenshtein, потому что я не могу получить .whl для установки на мою машину Windows.

Кто-нибудь сталкивался с этим? Почему fuzzywuzzy вызывает эту ошибку, когда она работает отлично через python? Есть что-то, что мне не хватает?

Полная погрешность можно увидеть здесь: http://imgur.com/a/rSKsS

EDIT: Я был в состоянии понять это - мне нужно установлен модуль питона-Левенштейна, должен был продолжать работать на него, чтобы получить .whl установить (по-видимому, я не так разбираюсь в командной строке, как мне хотелось верить). После этого я включил Levenshtein и fuzzywuzzy в список пакетов и скомпилировал его без ошибок.

Я собираюсь оставить это, потому что я не мог найти это в поиске Google, поэтому, надеюсь, никто больше не станет жертвой!

ответ

0

Найдено решение - python-Levenshtein необходимо установить. Получил шахту из репозитория gohlke: http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein - убедитесь, что у вас есть платформа, соответствующая вашей установке python! Я запускаю окна x64, но я использую python x32 для совместимости с моим драйвером Oracle, поэтому мне нужно было установить 32-битный модуль.

Смежные вопросы