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

举例:

新建项目如下:

python 如何进行编译 python程序怎么编译_重命名


其中: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得到:

python 如何进行编译 python程序怎么编译_文件路径_02


python 如何进行编译 python程序怎么编译_python 如何进行编译_03


1、要把test1.cpython-36.pyc文件从 pycache 目录中移动出来,compileall中

python 如何进行编译 python程序怎么编译_python 如何进行编译_04


2、需要将model.cpython-36.pyc重命名为model.pyc

python 如何进行编译 python程序怎么编译_python_05


不能运行

python 如何进行编译 python程序怎么编译_python 如何进行编译_06


只能import pyc文件。不能用python3.6运行pyc文件