Python 打包工具对比,Nuitka vs Pyinstaller

因为工作需要,需要把一个Python脚本打包封装后在公司内推广,原先以为代码写完,功能正常就完事了,没想到Python跨平台打包是一件很麻烦的事情。

公司内部同事有用Linux,有用Mac OS的,还有大量Windows用户,所以需要Python跨平台打包。

最初调研的时候,确定了几个被选工具,py2exe,PyinstallerCx_freeze.后来又在google上搜索到了Nuitka也可以完成python打包的任务。

Pyinstaller和Nuitka都号称跨平台,但其实顶多只能算是工具本身跨平台,实际体验中不仅打包产生的文件不能跨平台,能否成功打包本身也不确定。

本篇博文主要总结下在调研使用以上工具中遇到的坑和解决方法。

先放结论,如果对安全性和速度要求不是那么高,推荐使用Pyinstaller,而不是Nuitka,具体原因会在下文给出。

常见Python打包工具汇总比较

上面的网址给出了常见打包工具的简单比较,从参数上来说真正可以做到“跨平台”的只有bbFreeze,cx_Freeze,Pyinstaller这几款。以及可以算作编译器的Nuitka。

Nuitka

Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。

但是在实际体验Nuitka的过程中发现了很多问题.

使用Nuitka的具体指令如下

nuitka --standalone --nofreeze-stdlib gclt.py --output<
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值