python Nuitka打包指南

liftword2个月前 (03-14)技术文章5

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左右。

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

相关文章

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

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

Python应用打包指南:如何将Python脚本打包成可执行文件

在Python开发中,我们经常会编写一些实用脚本或应用。但如何让这些脚本在没有安装Python环境的机器上也能运行呢?答案就是将Python脚本打包成可执行文件。今天,我们就来聊聊如何使用PyInst...

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

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

抛弃容器,Python应用一键打包!Dockerc带你颠覆开发新思路

前言在容器化技术日益普及的今天,Dockerc 的出现为开发者带来了一种全新的选择:将 Docker 容器镜像编译为独立的二进制文件。这种方式让应用的分发更加高效和便捷,省去了对 Docker 环境的...

python散装笔记——141: 列表解构(也称为打包和解包)

1: 解构赋值在赋值中,可以使用“解包”语法将可迭代对象拆分为多个值:解构为值a, b = (1, 2) print(a) # Prints: 1 print(b) # Prints: 2如果尝试解包...

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

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