新一代Python专业编译器Nuitka简介
新一代Python专业编译器Nuitka简介
A Brief Introduction to the New Generation Python Complier - Nuitka
By Jackson@ML
0. 引言
新一代Python编译器Nuitka面世。什么??Python编译器,是真的吗?
答案是:真的。
长久以来,我们都使用Python软件包自带的Python解释器,在程序运行时发挥作用,经过解释器运算后,输出程序的结果。
而现在,Python有了新一代编译器(compiler),名叫Nuitka,并且,它与Python3x版本和Python 2.6-2.7版本兼容。
1. Nuitka特性
创造Nuitka,就是为了解决Python过去没解决的问题,即高性能。它会将应用程序在运行时提速并且提高性能。
它的主要功能会满足性能、IP保护和部署。
2. 获取Nuitka
打开Chrome浏览器,访问Nuitka官网链接:https://nuitka.net,如下图:
访问Python第三方库官网:https://pypi.org,可以看到,Nuitka于2025年4月28日刚刚发布。
3. 安装Nuitka
1) 安装Nuitka,与安装其它第三方库没有什么两样,执行以下命令即可:
$ pip install nuitka
*注:为了保险,也可以执行带有Python的安装命令:
$ python3 -m pip install -U nuitka
2) 或者,激活虚拟环境后,运用UV安装该库:
$ uv pip install nuitka
执行结果如下图:
4. 验证版本
为了验证安装版本,在Terminal下执行命令:
$ nuitka –version
执行结果如下图:
得出Nuitka现有版本为2.7。
5. 创造并编译Python程序
现在,让我们一道,立刻创建并编译Python程序。
打开VS Code来编写第一个Python应用程序hello.py,代码如下:
def hello():return "Hello, world!"def main():print(hello())if __name__ == "__main__":main()
然后,在VS Code的Terminal运行以下命令:
$ python3 -m nuitka hello.py
执行结果如下图:
选择Yes,结果如下:
查看当前目录列表,执行命令:
$ ls -la
除源文件外,编译生成了以hello为前缀的三个文件:
- hello.bin,
- hello.build,
- hello.sh
6. 运行应用程序
在Terminal中,运行Python应用程序,执行二进制文件:
$ ./hello.bin
可以看到,程序执行结果为:Hello, world!
同时,旗下生成的脚本文件,也可以执行:
$ ./hello.sh
7. Stand-alone模式运行程序
如果以stand-alone模式运行程序,产生的结果略有不同。执行以下命令:
$ python3 -m nuitka hello.py –standalone
执行结果如下图:
检查文件列表,执行命令:
$ ls -la
发现多出了一个新文件hello.dist.
执行Python二进制文件:
$ ./hello.bin
仍然出现同样结果,如下图:
编译没问题!
如果要查看该文件大小,执行命令:
$ du -h hello.py
$ du -h hello.bin
则执行结果如下图:
看到hello.dist远远大于二进制文件,其下包含二进制文件和*.dylib文件,如下图:
8. Nuitka必备环境
Nuitka无疑是功能强大的Python编译器,那么,要想让Nuitka运行丝滑,需满足以下必备条件:
1) C编译器
用户需要C语言编译器,支持C11或者支持就版本的Python,用于C++03的C++编译器。
2) Python软件包
研发Nuitka就是为了Python,因此,它支持的Python版本包括Python 3(3.4到3.13)以及Python 2(2.6和2.7)。如果稳定的Python版本不在此列出,那么,别担心,它很快就给有开发者跟进推出。
3) 操作系统
运行Nuitka的操作系统,概括的说,包含Windows(32位,64位),Linux, Android, FreeBSD, OpenBSD, macOS等。
4) 硬件架构
Nuitka运行所需的硬件支持架构有x86, x86_64(AMD64)以及ARM处理器。
Python技术好文陆续推出,敬请关注和点赞,收藏👍。
您的认可,我的动力!
相关阅读:
- 新一代AI智能体开发环境Cursor应用指南
- 用Pythong爬取Accuweather天气预报数据
- 新一代Python包管理器UV应用指南
- 2025最新版Coze AI智能体应用指南