我在python3.4中为调查条目构建了一个tkinter GUI,它使用了许多软件包。然后我需要将它编译成可执行文件,以便我可以将它放在同事机器上(我们都在windows7平台上)我已经将我的setup.py结构化为:
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
添加到选项字典中的包列表并编译它时,当我尝试运行以ImportError: No module named 'Levenshtein'
我不明白,因为在我的开发中,模块工作正常。我尝试在设置中加入Levenshtein
,但它并不作为模块存在。我没有安装python-Levenshtein,因为我无法在我的Windows机器上安装.whl。
有没有人碰到这个?为什么fuzzywuzzy在通过python运行良好时会导致此错误?我有什么遗失的吗?
完整的错误可以在这里看到:http://imgur.com/a/rSKsS
编辑:我能够弄清楚 - 我需要安装python-Levenshtein模块,必须继续使用它才能安装.whl(显然我并不像命令提示符那样精通我想相信)。之后,我在包列表中包含了Levenshtein
和fuzzywuzzy
,并且编译时没有错误。
我要离开这个,因为我无法通过谷歌搜索找到这个,所以希望没有其他人成为受害者!
答案 0 :(得分:0)
找到解决方案 - 需要安装python-Levenshtein
。从gohlke的存储库获得我的http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein - 确保你拥有与你的python安装相匹配的平台!我运行x64窗口,但我使用x32 python与我的Oracle驱动程序兼容 - 所以我需要安装32位模块。