bbfreeze生成的exe不起作用

时间:2016-02-22 15:50:11

标签: python wxpython packaging

我正致力于在Windows上冻结python 2.7应用程序,应用程序源代码大约为86 Mb,Gui用WxPython制作。

我试图使用的冻结工具是bbfreeze,生成的结果是166 Mo,但它不会运行或产生任何结果。

这是我使用过的bbfreeze脚本:

from bbfreeze import Freezer
f = Freezer("Host-1.0.0", includes=("wx", "os", "subprocess", "webbrowser", "decimal", "numpy", "matplotlib", 'socket', "scipy"),excludes=('libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'))
f.addScript("E:\source\main.py",gui_only=True)

f()

备注: 1 - 在使用bbfreeze时,我遇到以下错误:

No module named matplotlib.numerix

所以我已在“Python27 \ Lib \ site-packages \ bbfreeze-1.1.3-py2.7.egg \ bbfreeze \ recipes.py”中替换,如此链接所示https://github.com/schmir/bbfreeze/issues/19

    mf.import_hook("matplotlib.numerix.random_array", m)
    backend_name = 'backend_' + matplotlib.get_backend().lower()
    print "recipe_matplotlib: using the %s matplotlib backend" % (backend_name, )
    mf.import_hook('matplotlib.backends.' + backend_name, m)
    return True

 try:
    mf.import_hook("matplotlib.numerix.random_array", m)
    backend_name = 'backend_' + matplotlib.get_backend().lower()
    print "recipe_matplotlib: using the %s matplotlib backend" % (backend_name, )
    mf.import_hook('matplotlib.backends.' + backend_name, m)
    return True
except ImportErrror:
    pass

2-我的团队中的某个人已经使用py2exe生成了一个工作解决方案,其大小为286 Mo但运行速度有点慢,因此我们尝试比较使用不同的工具。

任何人都可以说明为什么生成的exe不起作用?并且两个生成的解决方案之间的大小差异是否合理?

0 个答案:

没有答案