python的代码编译、代码打包方法
代码编译
把代码编译成pyc文件
import py_compile
py_compile.compile(r'文件路径')
或者直接在terminal中运行
python -m py_compile 文件路径
编译完成后如果想要直接运行Pyc文件注意两点:
1、要把pyc文件从 pycache 目录中移动出来,放到py文件对应的位置
2、需要将model.cpython-36.pyc重命名为model.pyc
把一个目录下所有python源文件编译pyc
一般来说,我们的工程都是在一个目录下的,一般不会说仅仅编译一个py文件而已,而是需要把整个文件夹下的py文件都编译为pyc文件,python又为了我们提供了另一个模块:compileall 。使用方法如下:
import compileall
compileall.compile_dir(r'文件夹路径')
也可以直接用命令行编译一个目录下的文件
python -m compileall 文件夹路径
编译完成后如果想要直接运行Pyc文件注意两点:
1、要把pyc文件从 pycache 目录中移动出来,放到py文件对应的位置
2、需要将model.cpython-36.pyc重命名为model.pyc
举例:
新建项目如下:
其中:init.py
#空白
test.py
def add_math(a,b):
c = a + b
return c
compile_all.py
import compileall
# 编译test文件夹下所有.py文件
compileall.compile_dir('test')
compile_one.py
import py_compile
# 编译路径为code01.py的文件为.pyc文件
py_compile.compile(r'test1.py')
test1.py
from test1.test import add_math
print(add_math(1,2))
正常运行:compile_one.py得到:
1、要把test1.cpython-36.pyc文件从 pycache 目录中移动出来,compileall中
2、需要将model.cpython-36.pyc重命名为model.pyc
不能运行
只能import pyc文件。不能用python3.6运行pyc文件