要使用 PyArmor 对单个 Python 脚本进行加密并生成可执行文件,核心步骤是:先使用pyarmor gen命令加密脚本,再结合--pack选项调用 PyInstaller 进行打包。
核心操作流程
安装 PyArmor
加密并打包为可执行文件
假设你的脚本名为main.py,使用以下命令即可一步完成加密和打包 :# 打包为单个独立的可执行文件(推荐) pyarmor gen --pack onefile -O dist_onefile main.py # 或打包为一个包含依赖文件的目录 pyarmor gen --pack onedir -O dist_onedir main.py
--pack:指定打包模式,onefile生成单个.exe(Windows) 或无后缀文件 (Linux/macOS),onedir生成一个包含所有依赖的文件夹 。
*-O:指定输出目录,默认为dist。
- 获取并运行可执行文件
命令执行后,在指定的输出目录(如dist_onefile)中即可找到生成的可执行文件,直接分发给用户运行即可 。
高级加密与授权选项
在打包命令中,你可以集成多种授权控制策略,以满足不同分发需求。
| 需求场景 | 命令选项示例 | 说明 |
|---|---|---|
| 设置使用有效期 | pyarmor gen --pack onefile -e 30 main.py | 脚本将在30天后过期 。 |
pyarmor gen --pack onefile -e 2025-12-31 main.py | 脚本将在指定日期后过期 。 | |
| 绑定特定设备 | pyarmor gen --pack onefile -b "00:16:3e:35:19:3d" main.py | 绑定到指定MAC地址的设备 。 |
pyarmor gen --pack onefile -b "HXS2000CN2A" main.py | 绑定到指定硬盘序列号的设备 。 | |
| 增强加密强度 | pyarmor gen --pack onefile --enable-jit --mix-str main.py | 启用动态指令生成和字符串加密(--mix-str需正版授权)。 |
关键注意事项
- 非
.py文件处理:--pack命令仅处理 Python 脚本。如果你的项目包含图片、配置文件等非.py资源文件,需要手动将它们复制到最终的输出目录中 。 - 跨平台打包:如需为不同操作系统生成可执行文件,应在对应的操作系统环境下执行打包命令,或使用
--platform选项指定多个平台(这会增加运行时文件体积)。pyarmor gen --pack onefile --platform windows.x86_64,linux.x86_64 main.py ``` - 命令验证:不同版本的 PyArmor 命令可能存在差异,若遇到问题,可使用
pyarmor gen -h查看当前版本的具体帮助信息 。
参考来源
- [1366]python脚本加密工具PyArmor
- Python脚本代码加密,PyArmor库加密脚本测试及相关教程
- Pyarmor 加密和保护 Python 脚本的方法和机制
- pyarmor加密python脚本
- python算法加密—pyarmor&docker
- 使用 PyArmor 超级模式安全简单的发布加密Python脚本