【python】nuitka封装python

Nuitka 是一款将 Python 代码转换为 C 语言并编译为 ELF 格式的工具,旨在提升程序运行效率。本文介绍 Nuitka 的安装、使用方法,并讨论其在不同操作系统间的兼容性问题及 --standalone 参数的使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网:http://nuitka.net/doc/user-manual.html

python打包工具对比:http://blog.youkuaiyun.com/qwemicheal/article/details/52864656   这篇博客阐述了nuitka存在的各种问题

elf格式介绍:http://www.cnblogs.com/xmphoenix/archive/2011/10/23/2221879.html  清晰的介绍了elf格式

 

nuitka的作用是将python程序转换成C语言的可执行elf文件。这样在运行时就可以享受到C语言处理过程中的优化,提高速度。

 

安装:

sudo apt-get install nuitka

 

使用:

假设有python文件 main.py  其中import了  a.py, b.py, c.py

转换为可执行文件只需运行:

nuitka --recurse-all  main.py

运行后会生成main.exe文件,注意main.py中import的文件会被自动包含。

输入下面代码即可执行

./main.exe

 

 

问题:

1.跨平台性很差

这点,上面的"python打包工具对比"中也谈到了。

具体在我使用时,在ubuntu中打包了一份python文件,拿到windows下运行,提示

该版本的main.exe 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64 (64 位)版本的程序,然后联系软件发布者。

在centos中运行,提示有python依赖库找不到。

 

2.使用  --standalone参数后无法生成.exe文件

官网介绍说使用该参数可以解决代码对python是否安装的依赖

The created binaries can be made executable independent of the Python installation, with --standalone option.

可是我用这个参数后就无法生成可执行文件了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值