公司里面发布项目很多不会直接去发布源码,往往是会去发布可以直接执行的文件,在windows上发布的应用往往是exe可执行文件,对于Python来说,也是可以将源码转化为可直接执行的文件形式的。
当然了,将原始的py脚本编译为pyc文件不仅仅是内容上的考虑,也有效率和兼容性的考虑,py脚本在运行的时候会进行自动编译处理生成pyc文件,之后交给解释器执行,这一工作是解释器自动完成的,x_86_64架构上的可执行源码放到ARM架构上就不能运行了,这里最好的解决方式就是去执行已经编译完的程序,这样不仅效率上很高因为省去了编译的环境,同时也忽略了平台和架构的问题,这里主要就罗列一下自己使用最多的几种编译方式:
直接通过命令行进行编译
单个文件编译
python -m py_compile myApp.py
python -m py_compile /path/to/{myApp1,myApp2,,...,}.py
整体批量编译
python -m compileall myProjectDir
方式二:
进入shell交互式环境编译
import py_compile
py_compile.compile('path/to/myApp.py')
方式三:
项目文件整体进行编译
import compileall
compileall.compile_dir(dir='path/to/myProjectDir/',force=True)
如果您还有其他好的方式,欢迎交流。
作者:Together_CZ