0%

python | 编译出二进制文件 pyc

有的时候,我们需要把代码部署到其他人的服务器上,这个时候就要加密我们的代码。

这里,我们将 py 文件编译成二进制文件。

另外,这种二进制文件是可以反编译过来的,不过,也算是加了一层措施了。

除了加密外,二进制文件运行更快。


参考资料



使用


这里我们编译文件夹,单独的编译文件就不讲了。

默认情况

python3 -m compileall "需要编译的项目目录"

这个会讲 py 文件编译成 pyc 文件,并且把 pyc 文件放在 __pycache__ 文件夹中。

但是,如果,你进主文件中运行

python3 ***.pyc

的时候,会出现,你自己创建的文件找不到。

直接运行编译

python3 -m compileall  -b  "需要编译的项目目录"

这个会在文件目录下,直接翻译 pyc

这样可以直接运行

python3 ***.pyc

但是,这个会遗留 py 源文件,所以可以这样执行

find ./ -name "*.py" |xargs rm -rf
find ./ -name "__pycache__" |xargs rm -rf

我一般用

python3 -O -m compileall  -b  "需要编译的项目目录"

这个可以压缩 pyc

另外,如果源文件与编译后的文件同时存在的话,在导入模块时会优先执行源文件中的内容!

请我喝杯咖啡吧~