You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm生成的Python可执行文件闪退无法运行问题求助

Python成绩计算程序PyInstaller/Auto Py to Exe打包后闪退问题解决

一、先获取错误信息(关键步骤)

双击闪退无法看到报错,通过命令行运行可执行文件,直接查看错误:

  • 打开CMD,切换到exe所在目录,输入你的程序文件名.exe,回车运行,控制台会输出具体错误原因。

二、针对性修复方案

1. NumPy依赖缺失修复

你的代码依赖numpy,PyInstaller默认可能未完全打包该库:

  • PyInstaller命令行:添加--hidden-import numpy参数,示例:
    pyinstaller --onefile --hidden-import numpy 你的脚本名.py
    
  • Auto Py to Exe:在「Hidden Imports」输入框中添加numpy。

2. Windows控制台中文编码兼容

代码含大量中文输出,Windows默认编码可能导致启动失败,在脚本最开头添加:

import sys
import os
if sys.platform == 'win32':
    os.system('chcp 65001')  # 设置控制台为UTF-8编码

3. 规范脚本入口逻辑

将主程序逻辑放入if __name__ == '__main__':块,避免打包时的潜在冲突:
修改代码结构,把主菜单及后续所有执行代码缩进后放入该块:

if __name__ == '__main__':
    # 主菜单界面
    cabeçalho("初始化中...")
    time.sleep(5)
    cabeçalho("你需要多少分才能及格?")
    time.sleep(2)
    while True:
        print(linha())
        corpo("<本程序将告知你未完成的评估所需达到的分数>")
        corpo("""   若程序出现错误,请通过主菜单中的选项反馈Bug
                                            或
            发送邮件至Nota.necessaria2023@gmail.com联系我们""")
        menu(["第一次评估", "第二次评估", "第三次评估", "第四次评估",
              "反馈Bug/提交改进建议", "致谢", "退出程序"])
    # 后续所有代码全部缩进至此块内

三、重新打包的标准流程

  1. 确认依赖安装完整:执行pip install numpy(smtplib、email为Python标准库,无需额外安装)
  2. 使用PyInstaller打包(推荐命令):
    pyinstaller --onefile --console --hidden-import numpy 你的脚本名.py
    
    • --console:强制显示控制台窗口,方便排查问题,确认正常后可改为--windowed(无控制台)
    • --onefile:生成单个可执行文件,便于分发

四、其他排查方向

  • 杀毒软件拦截:部分杀毒软件会误报PyInstaller打包的程序,可暂时关闭杀毒软件测试
  • 版本兼容:确保PyInstaller版本与Python版本匹配(如Python 3.10+需使用PyInstaller 5.x及以上版本)

内容的提问来源于stack exchange,提问作者Enzo Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:41:02