资讯详情

资讯详情

PyArmor 安装、验证与卸载完整指南:pip 安装、命令入口与干净卸载

开发工具应用安全【免费下载链接】pyarmorA tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.项目地址https://gitcode.com/gh_mirrors/py/pyarmor点击查看免费下载PyArmor 是一个用于混淆 Python 脚本、将混淆后的脚本绑定到指定机器或设置过期时间的命令行工具。本文以官方安装文档为核心结合当前仓库源码完整讲解 PyArmor 的 pip 安装、升级、Web UI 安装、安装验证、命令入口以及彻底干净的卸载流程帮助你在一台全新机器上快速部署 PyArmor并在不再需要时完整清除所有痕迹。一、安装前须知PyArmor 就是一个普通 Python 包PyArmor 是一个普通的 Python 包因此安装方式与绝大多数 Python 工具一致——推荐使用pip。你可以从 PyPI 下载发布归档但使用pip安装是最简单可靠的方式它会自动处理依赖、命令行入口脚本console script和平台相关的动态库文件。当前仓库src/config.py中记录的版本为9.2.7核心库版本r52.6setup.py中声明其安装依赖为pyarmor.cli.core~8.1.2即 CLI 核心运行时库会在安装pyarmor时被自动拉取。在安装前建议确认你的环境Python 版本从 src/cli/main.py 的入口检查逻辑看主 CLI 要求 Python 3.7 及以上x 3 and y 6且不支持 Python 3.16 及以上y 16以及 free-threading无 GIL版本的 Python。旧版 7.x 的入口 src/pyarmor.py 则兼容 Python 2.6/2.7 与 Python 3。平台支持setup.py的classifiers声明支持 MacOS、Microsoft Windows、POSIXLinux发行归档中默认携带windows/x86、windows/x86_64、linux/x86、linux/x86_64、darwin/x86_64等平台的_pytransform动态库见 setup.py 的platform_data_files。许可证setup.py中许可证字段为Free To Use But Restricted未注册前为试用版Trial Version试用版可正常安装并体验核心功能。二、使用 pip 安装 PyArmor2.1 首次安装在 Python 环境可用的前提下执行pip install pyarmor安装完成后pip会根据 setup.py 中的entry_points自动在可执行路径下生成命令入口命令入口目标用途pyarmorpyarmor.cli.__main__:main主命令混淆、注册、配置等一切操作pyarmor-authpyarmor.cli.docker:mainDocker 等场景下的认证辅助入口pyarmor-7pyarmor.pyarmor:main_entry运行旧版7.x命令体系的入口pyarmor-8pyarmor.pyarmor:main_entry_8新版命令体系入口自动识别旧命令并提示从源码结构看新版 PyArmor 8 的核心命令只有gen、reg、cfg三个如果你习惯旧版命令obfuscate、licenses、pack、init、build等src/pyarmor.py 的main_entry_8会提示改用pyarmor-7来执行这些旧命令。2.2 升级到新版本当有新版本发布时使用pip install --upgrade pyarmor升级会同时更新其依赖包pyarmor.cli.core至对应版本。这里需要注意如果在过去使用pyarmor download下载过其他平台的动态库它们被保存在~/.pyarmor/platforms/目录下不会随pip升级而自动更新需要另行处理见后文运行时生成的文件一节。三、安装 Web UI可选PyArmor 还提供一个 Web 界面Web UI独立打包为pyarmor-webui安装命令为pip install pyarmor-webui安装后执行pyarmor-webui即可在浏览器中打开 Web 界面。从仓库代码 src/pyarmor-webui.py 可以看到该入口实质是调用webui.server包中的main()函数from webui.server import main main()因此即使未通过pip进行完整安装也可以直接运行分发目录中的webui/server.py来启动同一 Web 界面。四、验证安装是否成功4.1 检查版本输出在所有平台上安装后pyarmor命令都应该已经存在于执行路径execution path中。输入pyarmor --version预期输出为以下两种形式之一PyArmor Version X.Y.Z或未注册的试用版PyArmor Trial Version X.Y.Z这个输出逻辑在源码中有明确对应当前仓库 src/config.py 定义version 9.2.7src/pyarmor.py 中的_version_info会根据是否注册is_trial_version()在版本号前附加Trialtrial Trial if is_trial_version() else ver PyArmor%s Version %s % (trial, version)在新版 CLI 中src/cli/main.py 的print_version还会在版本号下方追加当前的许可证注册信息例如授权给哪个产品名。4.2 版本命令的进阶用法pyarmor -v与pyarmor --version等价见 src/cli/main.py。新版 CLI 还支持-q/--silent抑制所有正常输出与-d/--debug生成调试文件pyarmor.debug.log。旧版入口支持--home PATH指定 Home 路径便于同一机器上管理多个已注册的 PyArmor 副本例如pyarmor --home ~/.pyarmor-2 register pyarmor-keyfile-2.zip pyarmor --home ~/.pyarmor-2 obfuscate foo.py4.3 命令找不到怎么办如果执行pyarmor --version提示命令不存在请检查执行路径中是否包含 Python 的 Scripts 目录Windows或 bin 目录Linux/macOS确认pip install pyarmor是否真正成功pip show pyarmor可查看安装位置如果使用虚拟环境确认是否已激活对应虚拟环境。如果确实无法将命令加入执行路径也可以直接运行分发目录中的 Python 脚本见下一节非完整安装。五、安装的命令入口详解5.1 完整安装pip 安装产生的命令pyarmor主命令所有混淆、授权、配置操作的统一入口。旧版文档中其支持的子命令包括obfuscate、licenses、pack、hdinfo、init、config、build、info、check、benchmark、register、download、runtime等详见 docs.7/man.rst新版为gen、reg、cfg。pyarmor-webui用于打开 PyArmor 的 Web 界面。5.2 非完整安装未使用 pip时的替代入口如果没有通过pip执行完整安装例如直接拷贝源码目录使用这些命令不会以命令形式安装到执行路径但你仍然可以运行分发目录中的 Python 脚本来执行文档中描述的全部功能等价于pyarmor命令的是{pyarmor-folder}/pyarmor.py。从仓库看旧版 src/pyarmor.py 的if __name__ __main__: main_entry()即命令入口该脚本还会引用同目录下的polyfills/argparse、config、project、utils等模块见 src/pyarmor.py。等价于pyarmor-webui命令的是{pyarmor-folder}/webui/server.py见 src/pyarmor-webui.py。注意由于入口脚本依赖包内相对导入src/init.py 会将包目录插入sys.path建议保留完整的包目录结构后直接以python pyarmor.py command方式运行而不是单独拷出某个脚本。六、PyArmor 安装后会在系统中生成哪些文件PyArmor 不仅安装包文件还会在用户 Home 路径下创建运行所需的配置与数据文件。理解这些文件的位置是后面进行干净卸载的前提。6.1 Home 路径相关文件随版本演进安装并使用 PyArmor 后会在 Home 路径下生成以下文件~/.pyarmor/.pyarmor_capsule.zip 自 v6.2.0 起 ~/.pyarmor/license.lic 自 v5.8.0 起 ~/.pyarmor/platforms/历史版本的旧位置若从旧版本升级而来可能残留{pyarmor-folder}/license.lic v5.8.0 之前 ~/.pyarmor_capsule.zip v6.2.0 之前这些路径在源码中有精确对应。src/utils.py 定义PYARMOR_HOME os.getenv(PYARMOR_HOME, os.path.join(~, .pyarmor)) HOME_PATH os.path.abspath(os.path.expanduser(PYARMOR_HOME)) CROSS_PLATFORM_PATH os.path.join(HOME_PATH, pytransform.plat_path) DEFAULT_CAPSULE os.path.join(HOME_PATH, capsule_filename) # ~/.pyarmor/.pyarmor_capsule.zip OLD_CAPSULE os.path.join(HOME_PATH, .., capsule_filename) # ~/.pyarmor_capsule.zip其中capsule_filename与license_filename在 src/config.py 中定义为capsule_filename .pyarmor_capsule.zip license_filename license.lic各文件的作用.pyarmor_capsule.zip全局胶囊Global Capsule内含公私钥对混淆脚本与生成许可证都依赖它。首次运行时若不存在会自动生成见 src/utils.py 的make_capsule旧版本残留的~/.pyarmor_capsule.zip会被自动迁移到新位置。请务必妥善备份——丢失它会导致已有混淆脚本无法再生成新许可证。license.lic许可证文件PyArmor 自身的授权文件。未注册时src/utils.py 的pytransform_bootstrap会从包目录复制license.tri试用授权模板见 src/license.tri到该位置注册后则替换为正式授权。platforms/存放通过pyarmor download下载的其他平台动态库如linux.armv7用于交叉平台混淆。6.2 项目配置文件如果使用项目管理功能pyarmor init创建项目还会在项目目录下生成/path/to/project/.pyarmor_config该文件是 JSON 格式的项目配置src/project.py 中的_project_filename会优先识别该文件名配置文件名常量config_filename .pyarmor_config定义在 src/config.py。6.3 关于~路径的说明文档特别强调路径~在不同用户登录时指向不同目录。例如以root登录时~是/root以普通用户登录时是/home/用户名。如果你在不同用户下使用过 PyArmor需要在对应用户的 Home 路径下分别查找和清理。此外环境变量PYARMOR_HOME可以覆盖默认的 Home 路径见 src/utils.py 与 src/cli/main.py若设置过该变量卸载时需要按实际指向的目录清理。七、干净卸载Clean Uninstallation要彻底卸载 PyArmor需要同时处理两部分pip 安装的包以及运行过程中生成的数据文件。7.1 卸载 Python 包pip uninstall pyarmor如果需要同时卸载 Web UIpip uninstall pyarmor-webuipip uninstall会移除包文件与命令入口脚本但不会删除 Home 路径下生成的数据文件因此还需要手动清理。7.2 清理数据文件按当前版本文件位于~/.pyarmor/下执行rm -rf ~/.pyarmor如果机器是从旧版本v6.2.0 之前 / v5.8.0 之前升级上来的可能还需要清理历史遗留位置rm -rf {pyarmor-folder} # v5.8.0 之前包目录下的 license.lic rm -rf ~/.pyarmor_capsule.zip # v6.2.0 之前旧位置的全局胶囊注意rm -rf {pyarmor-folder}用于删除旧版本遗留在包目录内的license.lic文件请先通过pip show pyarmor确认包的实际安装目录切勿误删 Python 环境目录。如果使用过项目管理功能还需删除项目目录下的配置文件rm /path/to/project/.pyarmor_config7.3 完整卸载清单对象路径说明Python 包pip 管理的pyarmor、pyarmor.cli.core、pyarmor-webuipip uninstall处理全局胶囊~/.pyarmor/.pyarmor_capsule.zip自 v6.2.0 起许可证~/.pyarmor/license.lic自 v5.8.0 起平台库目录~/.pyarmor/platforms/下载的交叉平台动态库旧版胶囊~/.pyarmor_capsule.zipv6.2.0 之前旧版许可证{pyarmor-folder}/license.licv5.8.0 之前项目配置/path/to/project/.pyarmor_config每个使用项目功能的目录各一份7.4 卸载后的验证执行以下命令确认清理完毕pyarmor --version # 应提示命令不存在或使用绝对路径确认已卸载 pip show pyarmor # 应提示未安装 ls -la ~/.pyarmor # 应不存在或为空八、常见问题与排查建议pip命令不存在请先安装 pip或使用python -m pip install pyarmor方式安装。pyarmor命令找不到按上文 4.3 节检查执行路径临时方案是直接运行分发目录中的pyarmor.py。升级后行为变化PyArmor 8 将命令体系重构为gen/reg/cfg旧命令如obfuscate在新版入口下会被拦截并提示使用pyarmor-7见 src/pyarmor.py。升级前建议阅读迁移说明。卸载后残留授权如果删除~/.pyarmor/license.lic后仍显示正式版信息检查是否设置了PYARMOR_HOME环境变量指向了其他目录。不同平台动态库未更新pyarmor download下载的库保存在~/.pyarmor/platforms/升级主包后可用pyarmor download --update统一更新见 docs.7/man.rst。卸载重装后试用状态异常彻底清理~/.pyarmor/后重新pip install pyarmor首次运行会自动重建全局胶囊与试用授权文件。总结PyArmor 的安装链路非常标准pip install pyarmor一条命令即可完成pyarmor --version可立即验证区分正式版与试用版pyarmor-webui提供可选的图形界面。真正的干净卸载关键点在于pip uninstall之外还需按版本差异清理~/.pyarmor/目录、历史遗留的~/.pyarmor_capsule.zip以及每个项目目录下的.pyarmor_config文件。理解这些运行时文件的来源见 src/utils.py后无论安装、迁移还是卸载都能做到心中有数、不留死角。赞分享开发工具应用安全【免费下载链接】pyarmorA tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.项目地址https://gitcode.com/gh_mirrors/py/pyarmor点击查看免费下载相关推荐SumatraPDF 完全卸载指南便携版、安装版与命令行卸载深度解析SumatraPDF 完全卸载指南便携版、安装版与命令行卸载深度解析 本篇技术指南围绕 SumatraPDF 的卸载主题展开系统讲解官方构建的识别方法、便携桌面应用文档Radare2 安装与卸载完全指南Radare2 安装与卸载完全指南 前言 Radare2 是一款功能强大的逆向工程框架和二进制分析工具集。作为一款开源工具它提供了反汇编、调试、二进制修补等多逆向工程网络安全Linux rpm 命令详解RPM 软件包安装、卸载、查询与验证实战指南Linux rpm 命令详解RPM 软件包安装、卸载、查询与验证实战指南 本文是 Linux 命令速查手册 linux command https://li文档教程上一篇Vue富文本编辑器终极方案Vue2Editor完全指南下一篇Boss-Key终极指南如何一键隐藏窗口保护工作隐私创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →