如何使用Pyarmor对Python项目的完整包进行混淆处理
Pyarmor 整包混淆命令适配方法
命令调整规则
官方示例命令的核心逻辑是指定顶层包的__init__.py作为入口,加--recursive参数递归混淆包内所有Python模块,你只需要替换命令中的自定义路径参数即可:
pyarmor obfuscate --recursive --output <混淆后输出目录> <你的项目顶层包名>/__init__.py
实际使用示例
假设你的项目顶层包命名为erp_pro,所有需要混淆的代码都存放在该文件夹下,且文件夹内存在__init__.py文件(如果缺失可以先新建空文件),你希望混淆后的代码输出到dist/erp_pro目录,对应命令如下:
pyarmor obfuscate --recursive --output dist/erp_pro erp_pro/__init__.py
可选配置
- 如需过滤不需要混淆的文件/文件夹,可追加
--exclude参数,比如排除测试目录和配置文件:
pyarmor obfuscate --recursive --exclude tests --exclude config.py --output dist/erp_pro erp_pro/__init__.py
- 如果你的项目入口是单独的
main.py而非__init__.py,替换命令末尾的入口路径即可,--recursive参数仍会递归混淆同目录下所有模块。
内容的提问来源于stack exchange,提问作者saran k
相关产品推荐
相关产品推荐

