Nuitka

Nuitka是一个Python编译器,可以将Python应用程序编译成C或C++的可执行文件。它可以生成高性能的可执行文件,并且支持跨平台。生成的可执行文件体积较小。
1、安装打包环境
yum -y install gcc # 需安装GCC编译器
pip3 install nuitka -i https://mirrors.aliyun.com/pypi/simple/
2、打包py脚本

首先在打包之前检查一下我们的py文件是否可以正常执行,确认无误后进行打包

nuitka3 --remove-output xxxxxxxxxxx.py  # 使用系统Pyhon解释器
nuitka3 --standalone --onefile --remove-output xxxxxxxxxxx.py  # 独立模式
# 执行完成后,将在当前目录生成一个bin可执行文件

3、Nuitka常用编译参数
--standalone:启用独立模式输出,创建独立的可执行文件,包含所有依赖库和Pyhon解释器。
--onefile:在独立模式的基础上,启用 onefile 模式。创建一个压缩的可执行文件,默认关闭。 
--full-compat:使用官方的python-embed环境,增强兼容性,Windows环境可替代--standalone参数。
--recurse-all:编译所有找到的模块,包括间接导入的模块。
--plugin-enable=upx:启用upx压缩。

PyInstaller

PyInstaller是一个常用的Python打包工具,可以将Python应用程序打包成独立的可执行文件。它支持跨平台,并能够自动处理依赖关系,包括Python解释器、第三方库等。
1、安装打包环境
#Python2:
pip install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/
#Python3:
pip3 install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/
2、打包py脚本

首先在打包之前检查一下我们的py文件是否可以正常执行,确认无误后进行打包

pyinstaller -F xxxxxxxxxxx.py

倒数第三句为生成的可执行文件

3、可执行文件存放路径

可在上图倒数第三句处查看
一般为当前目录的dist目录下

4、压缩可执行文件体积的打包方法(Python3.7.9以上)
# 安装虚拟打包环境
pip3 install pipenv -i https://mirrors.aliyun.com/pypi/simple/
# 进入虚拟环境
pipenv shell
# 安装打包工具和py脚本所需依赖插件
pipenv install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/
pipenv install dpkt -i https://mirrors.aliyun.com/pypi/simple/   #举例,按实际情况执行
# 打包
pyinstaller -F xxxxxxxxxxx.py

# 在CentOS系统上还可以使用upx压缩
yum install -y upx