当前位置: 首页 > java >正文

新一代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技术好文陆续推出,敬请关注和点赞,收藏👍。
您的认可,我的动力!

相关阅读:

  1. 新一代AI智能体开发环境Cursor应用指南
  2. 用Pythong爬取Accuweather天气预报数据
  3. 新一代Python包管理器UV应用指南
  4. 2025最新版Coze AI智能体应用指南
http://www.xdnf.cn/news/4338.html

相关文章:

  • ROS2:自定义接口文件(无废话)
  • 多模态理论知识
  • 二叉树与堆排序(概念|遍历|实现)
  • python酒店在线预定管理系统-酒店客房管理系统-快捷酒店入住系统
  • 【Linux系统】vim编辑器的使用
  • FoMo 数据集是一个专注于机器人在季节性积雪变化环境中的导航数据集,记录了不同季节(无雪、浅雪、深雪)下的传感器数据和轨迹信息。
  • C语言编程--递归程序--求数组的最大元素值
  • 油气地震资料信号处理中的NMO(正常时差校正)
  • 【网络篇】传输层TCP协议的确认应答,超时重传机制
  • IT咨询——企业数据资产怎样评估
  • 满分PPT | 基于数据运营的新型智慧城市实践与思考智慧城市数据中台解决方案智能建筑与智慧城市建设方案
  • 基于nacos实现动态线程池设计与实践:告别固定配置,拥抱弹性调度
  • LabVIEW与 IMAQ Vision 机器视觉应用
  • C++类与对象基础续
  • 15.命令模式:思考与解读
  • 毫米波雷达原理(最通俗的解释)
  • MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
  • go 编译报错:build constraints exclude all Go files
  • Python使用爬虫ip抓取热点新闻
  • autojspro怎么免费用
  • 【原创分享】魔音变声器内含超多语音包实时变声
  • C#中从本地(两个路径文件夹)中实时拿图显示到窗口中并接收(两个tcp发送的信号)转为字符串显示在窗体中实现检测可视化
  • 【Wandb】搜索框仅支持正则匹配,不接受“tags:“前缀查询
  • 知乎前端面试题及参考答案
  • 【计算机网络】TCP为什么可靠?解决了哪些问题?
  • 数字文明时代开源技术驱动的商业范式重构:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的协同创新研究
  • GD32F470+CH395Q
  • Odoo 开发:揭秘表单视图中“添加行”按钮的出现条件
  • Netty 是一个基于 Java NIO 的高性能网络通信框架
  • 基于SSM实现的健身房系统功能实现一