要使用 PyArmor 对单个 Python 脚本进行加密并生成可执行文件,核心步骤是:先使用 pyarmor gen 命令加密脚本,再结合 --pack 选项调用 PyInstaller 进行打包。

核心操作流程

  1. 安装 PyArmor

     
  2. 加密并打包为可执行文件
    假设你的脚本名为 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
  1. 获取并运行可执行文件
    命令执行后,在指定的输出目录(如 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 查看当前版本的具体帮助信息 。

参考来源

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐