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

https://blog.csdn.net/orangefly0214/article/details/81462245?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

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文件即可。

https://zhuanlan.zhihu.com/p/265462717

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐