返回
Featured image of post Python的Nuitka打包教程

Python的Nuitka打包教程

Python的Nuitka打包是一件很难的事情但是如果掌握了方法就不会有多难

目录

TL;DR / [极客简报]:

  • 逆向防线:告别PyInstaller的“全裸”打包,Nuitka通过将Python编译为C++,大幅提升反编译难度。
  • 性能飞跃:享受原生机器码带来的执行提速,摆脱纯解释执行的效率瓶颈。
  • 环境避坑:选择Python 3.8.10等稳定版本,严格规避中文路径,利用 --onefilezstandard 实现高性能分发。

Python的运行速度 和源代码反编译,一直是一个让人难解的问题,然而使用了Nuitka后,你将会享受C++的速度,和免于被pyinstaller打包后被人完整反编译出来源代码的担忧

# 解释一下pyinstaller和Nuitka的不同

这两个的不同点在于pyinstaller是现场做菜,一切都被在场人看的清清楚楚(解包出源码),但是Nuitka是把一堆东西打成浆糊你也不知道里面放了什么东西只能大致猜出这个东西在干嘛(反汇编只能得到汇编不能得到源码)

# Python版本选择

Python版本越旧越好,越能兼容更多东西,选择python 3.8.10足以

# 注意事项

安装的目录不能带中文,不然会有一堆你无法解决的bug

# PIP安装一些东西

1
2
3
    pip install ordered-set # 加速编译
    pip install nuitka # 主程序
    pip install zstandard # onefile时压缩文件

# 一键指令

1
python -m nuitka --mingw64 --standalone --output-dir=out --show-progress --onefile main.py

你可以保存成build.bat以便打开即可食用