使用cx_Freeze编译时,Python崩溃了。

5
我正在尝试使用cx_Freeze编译我的Python脚本,这是我的设置文件:

import cx_Freeze
import sys
import matplotlib
import os
base = None

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

os.environ['TCL_LIBRARY'] = r'C:\\Python35\\tcl\\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\\Python35\\tcl\\tk8.6'

executables = [cx_Freeze.Executable("HomeScreen.py", base=base, 
icon="icon.png")]

cx_Freeze.setup(
    name = "LeagueBoost",
    options = {"build_exe":{"packages": ["sqlite3","requests","time","sys","os","statistics","matplotlib","random","collections"],
                            "include_files": ["Assets", "LeagueBoost_v1.py","LBRun.py","graphSetup.py","profilepage.py","Assets_rc.py"]}},
    version = "1",
    executables = executables
    )

但是,当我输入cmd命令C:/python35/python.exe时,它会到达copying C:\python35\python35.dll -> build\exe.win-amd64-3.5\python35.dll并弹出“Python已停止工作”。

1个回答

3
撞了墙之后,我试图使用cx_Freeze构建可执行文件,但是Python崩溃了。经过尝试,发现用ico格式的图标文件解决了问题。
你的图标文件应该是icon类型而不是png类型,可能是因为cx_Freeze不支持png格式。
在你的setup.py中,将icon="icon.png"改为icon="icon.ico",请注意图标文件必须是ico格式,不要聪明地改变扩展名。
如果仍然不能工作,可以试试不写这个选项icon="icon.png",看看是否有效。

我相信只有 Windows 支持 ico 文件作为应用程序图标,而不是 cx_Freeze。在维基百科的 ICO (file format) 页面上,可以看到:在 Windows 中,所有向用户显示图标的可执行文件,无论是在桌面、开始菜单还是在 Windows 资源管理器中,都必须使用 ICO 格式携带图标。 然而,我没有在“官方”的 Windows 文档中找到相应的声明。 - jpeg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接