python Nuitka打包指南

liftword3个月前 (03-14)技术文章15

Nuitka是一个Python代码打包工具,它可以将Python代码转换成C或C++代码,并最终生成一个可执行文件。

Nuitka的目标是创建一个功能齐全的Python解释器的C语言对应版本,这样就可以将Python代码编译成可执行文件,同时也可以实现Python的动态类型特性。

使用Nuitka可以有效地提高Python代码的运行效率,因为它将Python代码转换成C或C++代码,并使用高效的编译器将其编译成二进制代码。此外,Nuitka还提供了很多优化选项,可以进一步改善代码的效率。

安装nuitka

pip install -U nuitka

基础使用

打包tk-inter开发的GUI程序

参数说明:
--standalone     独立环境,使结果可移植
--onefile    打包为单个exe文件
--enable-plugin=tk-inter    打包tkinter模块的需要
--remove-output    打包结束后删除产生的临时文件
--windows-disable-console    去掉运行时cmd窗口
nuitka --standalone --onefile --enable-plugin=tk-inter --remove-output --windows-disable-console  xxx.py

常用参数

--standalone 独立环境,使结果可移植
--windows-disable-console 去掉CMD控制窗口
--output-dir=out 生成exe到out文件夹下面去
--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-package=复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子
--include-module=复制比如when.py 这些以.py结尾的叫模块
–-include-package-data=包含给定软件包名称中的数据文件,等号后软件包名称。有的时候Nuitka并不能正确分析出一些Python软件包所需要使用的数据文件,在运行程序时提示FileNotFoundError等错误,此时就需要使用该选项。如:--include-package-data=ultralytics
–-include-data-files= 按文件名包含数据文件,等号后的格式为。SRC指的是文件夹的路径,DEST指的是文件夹相对于打包结果的路径,其中DEST只能使用相对路径。如:--include-data-files=/Users/admin/Downloads/yolov5n.pt=./yolov5n.pt
-–include-data-dir= 包含文件夹中的数据文件,等号后的格式为。使用方法与--include-data-files=相同。
--follow-import-to=MODULE/PACKAGE  		如果使用该模块,请遵循该模块;如果是一个包,请遵循整个包。可以多次给定。默认为空。

Nuitka优点:

程序运行速度较快。

打包之后的程序占用空间较小。

Nuitka缺点:

打包时间比较长。

打包结果大小对比:

main1.exe为pyinstall打包的结果大小12m左右。

main2.exe为Nuitka打包结果大小是8m左右。

打包完之后的文件大小差距还是比较明显。

相关文章

一文学会用PyInstaller把Python 程序打包成一个独立的可执行文件

PyInstaller 是一个 Python 库,它可以将 Python 源代码和依赖的模块打包成一个可执行文件或者一个压缩包,这样就可以在没有安装 Python 解释器或任何模块的环境中运行您的程序...

PyOxidizer:将 Python 应用打包成单一可执行文件的神器

三、PyOxidizer 基本使用使用 PyOxidizer 打包应用的基本流程如下:1. 创建新项目首先,我们使用 pyoxidizer init 命令创建一个新的 PyOxidizer 项目:py...

python打包exe指南来了,pyinstaller打包教程

代码编写完成,如何在没有python环境的电脑上运行?编写了一个GUI程序,如何把文件打包好,发给别人直接使用?其实最简单的办法就是把.py源文件,打包成可执行程序员exe文件,别人直接双击exe文件...

30s带你使用Python打包exe文件,并修改其图标

在 Python 中,我们可以使用PyInstaller或cx_Freeze等工具将 Python 脚本打包成可执行文件(.exe),并且能够修改生成的.exe文件的图标。使用 PyInstaller...

Pycharm将python文件打包为exe文件(详细:制作快捷功能)

很多朋友在使用pycharm编写程序后,想要把代码打包成带界面的EXE文件,方便后期的直接使用运行,现在面临着如何将python代码打包成exe的难题,这时候,带大家学习一下。首先,需要安装打包库方法...

Python—部署打包工具

Python代码编写测试后,就是打包部署了,一般使用两种打包方式:使用Python Wheel包格式打包。随后就可以使用pip安装。将应用程序冻结到单个二进制文件或目录中。这里说说第二种方式。fbs与...