Python打包神器Nuitka

Python打包神器Nuitka什么是 Nuitka Nuitka 是 Python 的编译器 由 Python 自举 功能很多 其中之一就是把 Python 脚本直接编译成可执行文件 此功能与 Pyinstaller 相似

大家好,欢迎来到IT知识分享网。

什么是Nuitka?

Nuitka是Python的编译器,由Python自举。功能很多,其中之一就是把Python脚本直接编译成可执行文件,此功能与Pyinstaller相似。

Nuitka vs Pyinstaller

众所周知,Pyinstaller的功能就是打包Python脚本成为可执行文件。我比较好奇二者之差异。于是我用同一个脚本分别使用Nuitka和Pyinstaller进行打包,打包后Nuitka的体积略小,且启动速度略快。由于笔者精力有限,就没有进行更多实验,所以不能简单就说Nuitka就是比Pyinstaller要好。

Nuitka能加速Python?

有些情况下不能加速,甚至会减速!尽管开发者生成可以提速200%到300%,但都是理想状态下的测试。实际上,如果在Python代码中大量使用列表等或使用for range循环,编译后的运行速度比直接运行Python脚本还要慢!Github上有使用者用埃拉托斯特尼筛法进行性能对比测试,用Nuitka编译后的Python比Python还要慢,Nuitka开发者也承认此事实。当然Nuitka发展很快,这方面的问题应该都会慢慢解决的。

Nuitka好用吗?

好用,网络上有很多资料,一查就能查到很多。其实,就是各种命令行如何用。本人大概花费1个小时就成功打包了一个自己用Pygame写的游戏。虽然中途遇到一些编译错误,查查资料改一改命令行就成功了,并不是很复杂。

Nuitka注意事项

缺资源文件,缺dll均可以使用命令选项 –include-data-files=A=B 来添加。 其中,A代表打包前文件路径,B代表打包后文件路径(相对位置)。

exe图标可以使用命令选项 –windows-icon-from-ico=A 其中,A代表为exe添加图标的路径。

注意新版Nuitka可以添加版权信息和产品信息了 –copyright=唐老师 –product-version=1.0

成果展示

Python打包神器Nuitka

打包好信息

使用Nuitka打包Pygame小游戏为单个exe大小为8M,这其中还包括字体,音频,图片等资源。

视频加载中…

额外福利,什么是Numba?

如果你嫌Python脚本运行速度太慢了,Numba可以帮你提速!本人使用自己写的重力四子棋亲测,使用Numba加速棋面判定输赢的函数后,AI整体性能提升2倍有余。一般情况下只需写个装饰器,就可以让函数甚至是类加速。使用Numba你无需改变Python代码的书写方式。

注意事项

注意Numba可以加速的函数其参数和内部的代码它必须了解,这导致无法随意加速函数,目前可加速函数是有具体规范的。函数参数可以是基本类型,也可以是numpy的array,也可以是Numba的List。函数内部代码亦不能有Numba不认知类型,且让Numba认识自定义类型非常之复杂。真是太遗憾了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/167011.html

(0)
上一篇 2025-01-10 09:45
下一篇 2025-01-10 10:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信