py2sec 一款轻量的脚本工具,基于 Cython 将 .py 编译成 run-time libraries 文件:.so (Linux && Mac),或 .pyd (Win)。一定程度上实现了“加密”保护源代码的需求。
Linux && MacOS && Windows
注意:Windows用户运行时可能会遇到如下错误
error: command 'cl.exe' failed: No such file or directory
请安装对应Win系统版本的Visual C++ Build Tools
import
或 from module import * "
pip install requirements.txt
请将要加密的目录或文件存放在py2sec根目录下
python py2sec.py [选项] ...
-v, --version 显示 py2sec 版本
-h, --help 显示帮助菜单
-p, --pyth Python的版本, 默认为 你的 "python" 命令绑定的python版本
例: -p 3 (比如你使用python3)
-d, --directory Python项目路径 (如果使用-d参数, 将编译整个Python项目)
-f, --file Python文件 (如果使用-f, 将编译单个Python文件)
-m, --maintain 标记你不想编译的文件或文件夹路径
注意: 文件夹需要以路径分隔符号(`/`或`\\`,依据系统而定)结尾,并且需要和-d参数一起使用
例: -m setup.py,mod/__init__.py,exclude_dir/
-x --nthread 编译启用的线程数
-q --quiet 静默模式,默认False
-r --release Release 模式,清除所有中间文件,只保留加密结果文件,默认False
python py2sec.py -f test.py
python py2sec.py -f example/test1.py -r
python py2sec.py -d example/ -m test1.py,bbb/
# 一些操作系统使用 "python3" 命令来执行python3,如Ubuntu,这里可以使用 -p 参数来运行
python3 py2sec.py -p 3 -d example/
本项目遵循MIT协议
整个Python项目编译前:
py2sec 编译后效果: