把 Python 脚本变成静态文件:你值得脚本包装好,试试这两款工具吧
本文介绍了 将 Python 脚本转换为可执行文件的多种需求、方法以及核心工具 Nuitka 和 PyInstaller 的工作原理和异同。 这种需求源于三种不同的思维模式:商业思维(需要混淆和版权保护)、开发者思维(追求便捷部署)和项目思维(追求 C 语言级别的运行速度)。 Nuitka 满足了前者的商业需求,它能够将 Python 脚本编译成 C 语言的可执行文件;而 PyInstaller 则服务于中间的开发者思维,它将脚本连同所有依赖库打包成一个可执行文件。 这两种工具的工作机制截然不同。 PyInstaller 采用的是纯粹的打包方式,没有编译过程,程序在运行时会解压所需依赖;而 Nuitka 则是真正的编译过程,它将 Python 脚本翻译成 C 文件,再将这些 C 文件编译成最终的程序。 尽管 PyInstaller 操作简单,但运行起来较为费劲;而 Nuitka 虽然参数繁多,但最终编译出的文件速度更快。 作者强调,选择哪种工具取决于项目的具体需求和开发者所能接受的复杂程度。最终,开发者应根据自身项目的实际情况,选择最适配的工具来完成脚本的转换工作。
最近把 QQ 下回来了:意识到开源软件不足,卸载的 QQ 又下回来了
本文描述了作者对当前各种聊天和社交软件的观察与思考,核心观点在于开源工具在功能整合度上难以匹敌商业化巨头。作者认为,如果用户没有强烈的隐私需求,那么许多开源聊天软件,例如 Matrix 和 Mastodon,在实用性上是“上不了台面”的,因为它们往往只局限于一个点,缺乏像微信或 QQ 那样将“社交软件”和“聊天软件”进行深度整合的能力。在技术应用层面,文章还分享了作者利用 Steam 家庭共享进行游戏联机的经验,并讨论了局域网语音通话这类小众需求的现状,指出这些功能往往被 Jami 或 Matrix 等工具包装,需要用户自行部署。此外,作者还回顾了 5G 短信的功能,观察到尽管技术存在,但其在实际使用中并没有承载起中心化社交软件的重量,最终凸显了中心化平台在承载用户社交需求时的独特优势和局限性。


