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

如何使用pyinstaller打包python脚本?

那是2024年的春天,也就是一年前,我写了一篇文章,介绍“nuitka 打包exe简单教程”,有且仅有一位大佬 

@白柳

 评论了我,他说:

我用nuitka的module模式打成pyd,然后改了韦易笑那个 pystand让他支持pyd,然后每次更新只要编译一下pyd就行了。后面发展到分成一个bootstrap.pyd和src.pyd,src.pyd远程获取,bootstrap.pyd写一下网络加载src.pyd的代码,只要不加第三方库,永远只要编译一下src就行了。都不用做新安装包

我接触 nuitka 也就是2024年的时候,早期我也是使用 pyinstaller 打包 exe,但是 python3.8 以及之前的版本,打包 exe 都很容易破解出源代码,python3.9 稍微好一点但也能破解,python3.10 以及之后就比较安全了,说这话也是在2025年的前提下,没人能保证未来不会。因此,找到一个 python 一劳永逸的打包方法,一直是我的目标,直到 nuitka 的出现。

我使用 nuitka 打包 python,是因为必须要对技术的实现进行保密,nuitka 能把 python 编译成 pyd,类似把 c/c++ 编译成 dll 是一个道理的,2024年这个工具一直是小范围内使用,且一直没有升级的打算,说实话一直拿不到使用反馈。因此,并不是一款理想的小工具。所以,今年年初就想着好好大干一场,于是就有了文章开头的话题。

白柳大佬的玩法是自动更新,每次运行软件都会先从云端加载核心逻辑库src.pyd,实现软件的自动更新。这种方式确实比较优秀,每次都能让用户使用最新版的功能,而我的小工具是GUI版本的,我是让用户手动点击“一键升级”按钮,然后从云端加载核心逻辑库(xxx.pyd和资源文件),最后重启软件,实现软件的升级。

最后,总结一下我的 python打包 exe方案,python3.8 + nuitka + pystand,感谢 

@韦易笑

 大佬,我觉得这是当下最靠谱的 python打包exe方案,堪称完美。我的xxx.pyd是不能直接反编译成 python 的,我的资源文件是 AES 加密的,我的云端是双向 SSL 认证的,我的升级是增量更新的。

已开启送礼物

送礼物用户

编辑于 2025-03-15 14:31・江苏

http://www.xdnf.cn/news/8895.html

相关文章:

  • Jetpack Compose 中更新应用语言
  • c++树状数组模板Fenwick (Binary Indexed) Trees
  • 基于TypeScript的全栈待办事项应用Demo
  • Day 19
  • 力扣HOT100之回溯:78. 子集
  • 【linux】systemct创建服务
  • 【C++】21. 红黑树的实现
  • 面试专栏04-SpringCloud
  • 相机内参 opencv
  • 基于Web组件实现随机抽奖
  • 云手机安卓12哪个好?掌派云手机安卓12系统上线,开启流畅体验新纪元
  • 指针数组和数组指针的区别
  • 华为OD机试真题—— 判断字符串子序列(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 【EcelVBA】系统学习 ActiveX 控件
  • 恒坤新材闯上市:利润受益于大额补贴,产能利用率低仍要募资扩产
  • OD 算法题 B卷【最长公共后缀】
  • C++修炼:哈希表的模拟实现
  • 【python实战】-- 选择解压汇总mode进行数据汇总20250525更新(篇幅2)
  • 塔能科技:以多元技术赋能全行业能耗节能转型
  • 力扣刷题(第三十七天)
  • Linux之概述和安装vm虚拟机
  • Oracle附加日志概述
  • Day 31 训练
  • 哪款云手机支持安卓12系统?掌派云手机-性价比之选
  • Threejs 透明模型渲染嵌套以及深度测试解决共存问题
  • 什么是ESLint?它有什么作用?
  • 10G/25G PCS only mode for CoaXPress Over Fiber
  • 9. Spring AI 各版本的详细功能与发布时间整理
  • 华为OD机试真题——出租车计费/靠谱的车 (2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战