Nuitka是一个python打包工具,它将python代码先转换为c语言再编译打包,因此比使用PyInstaller等工具效果更好,能有效减小包体积并优化速度。
建议在虚拟环境打包。
在cmd中打开一个文件夹(路径纯英文),输入python -m venv 虚拟环境名称
然后就会多出一个文件夹,即【虚拟环境名称】,cd进【虚拟环境名称】/Scripts
输入activate调用activate,进入虚拟环境(deactivate退出)
在虚拟环境中cd进入源码文件夹
pip换源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 清华源
安装python文件所需的库。并安装Nuitka:pip install nuitka
准备完成后就可以打包了,输入nuitka --参数 py文件
常用参数(输入nuitka --help查看全部):
--mingw64 使用mingw64编译
--standalone 独立环境(重要),若不选用包只能在有python环境的计算机使用
--windows-disable-console 包运行时去掉CMD控制窗口
--output-dir= exe 存放包的文件夹
--show-progress 显示编译进度
--show-memory 显示内存占用
--enable-plugin=pyside6 打包pyside6模块
--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 打包成单个exe文件
include-data-dir=【文件夹】=【文件夹】 py程序需引入的文件夹,如templates
例如我的打包命令就是 nuitka --standalone --show-progress --onefile --include-data-dir=templates=templates --mingw64 app.py
等待打包成功
若提示 Fully automatic, cached. Proceed and download? [Yes]/No :
输入yes下载,如果速度慢可以手动将winlibs-x86_64-posix-seh-gcc-14.2.0-llvm-19.1.1-mingw-w64msvcrt-12.0.0-r2.zip【自行下载】上传至P:\Users\用户名\AppData\Local\Nuitka\Nuitka\Cache\downloads\gcc\x86_64\14.2.0posix-19.1.1-12.0.0-msvcrt-r2
评论区(暂无评论)