Python打包exe,以及解决闪退2.0

Posted Hi-King

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python打包exe,以及解决闪退2.0相关的知识,希望对你有一定的参考价值。

文章目录

前言

两年前写的一篇 Python打包exe,以及解决闪退 是使用pyinstaller进行打包操作 今天这里介绍使用 Nuitka 进行打包
话不多说直接上教程

环境准备

安装配置MinGW
https://sourceforge.net/projects/mingw-w64/files/
版本不要弄错(最低的是8.1.0版本,32和64位的版本要注意)
这里也提供百度云的
链接:https://pan.baidu.com/s/1FrethECefLoWpwgs6Pxjaw?pwd=thpz
提取码:thpz

安装 Nuitka

pip install nuitka

这里使用 PyQt5 的一个例子来演示,Nuitka 打包

如下是一条完整的命令 编译的py文件为画布.py(注意这是入门命令)

nuitka --mingw64 --standalone --show-progress --show-memory --plugin-enable=qt-plugins  --output-dir=out .\\qt5\\画布.py

以下是常用命令

--mingw64 #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)

--standalone 独立环境,这是必须的(否则拷给别人无法使用)

--windows-disable-console 没有CMD控制窗口

--output-dir=out 生成exe到out文件夹下面去

--show-progress 显示编译的进度,很直观

--show-memory 显示内存的占用

--include-qt-plugins=sensible,styles 打包后PyQt的样式就不会变了
--plugin-enable=qt-plugins 需要加载的PyQt插件

--plugin-enable=tk-inter 打包tkinter模块的刚需

--plugin-enable=numpy 打包numpy,pandas,matplotlib模块的刚需

--plugin-enable=torch 打包pytorch的刚需

--plugin-enable=tensorflow 打包tensorflow的刚需

--windows-icon-from-ico=你的.ico 软件的图标

--windows-company-name=Windows下软件公司信息

--windows-product-name=Windows下软件名称

--windows-file-version=Windows下软件的信息

--windows-product-version=Windows下软件的产品信息

--windows-file-description=Windows下软件的作用描述

--windows-uac-admin=Windows下用户可以使用管理员权限来安装

--linux-onefile-icon=Linux下的图标位置

--onefile 像pyinstaller一样打包成单个exe文件

--include-package=复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子

--include-module=复制比如when.py 这些以.py结尾的叫模块


运行结束后,项目中会多出一个out文件夹

其中的画布.dist 里面就有打包好的 .exe 文件

打包挺简单的快去试试吧

最后附带我的例子的代码
Github https://github.com/KingJin-web/python/tree/master/qt5

Gitee https://gitee.com/KingJin-web/python/tree/master/qt5

以上是关于Python打包exe,以及解决闪退2.0的主要内容,如果未能解决你的问题,请参考以下文章

pynput打包成exe后报错闪退问题

将py文件打包成exe可执行文件

Python教程:一篇文件教你py文件打包成exe

python打包exe被杀毒软件删除

nasm.exe打开就闪退是怎么回事?

python生成EXE 系统兼容性问题