1、py文件编译为pyc文件:具有一定的保密性,但有可能被反编译
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。
pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的
https://blog.csdn.net/zylove2010/article/details/79593655
2、setup编译为whl格式第三方库:生成whl格式第三方库,可直接pip install 安装,但安装后,代码开源,不利于代码保护
https://www.cnblogs.com/wangbin2188/archive/2004/01/13/13967551.html
3、pyinstaller打包生成dist文件夹:代码保护极好,但打包内容过多,臃肿
https://blog.csdn.net/wj_shi/article/details/107852411
4、(强烈建议)打包为so文件:代码保护极好,只能知道输入输出;
1)第一种只给.so文件到另一平台,但需要和本地编译环境一直,本地是python3.7,那此.so文件也只能在python3.7环境中运行;
2)给中间结果.c文件,让其在自己平台上编译,运行python setup.py build_ext编译,只需要在setup.py中将py文件修改为.c文件即可。