python的代码编译、代码打包方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44493841/article/details/102747144

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

举例:

新建项目如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XaNaybOr-1571995894449)(C:\Users\xiahuadong\Pictures\博客\79.png)]
其中: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得到:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9lkRRkxz-1571995894451)(C:\Users\xiahuadong\Pictures\博客\80.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DVrWMTHp-1571995894451)(C:\Users\xiahuadong\Pictures\博客\81.png)]
1、要把test1.cpython-36.pyc文件从 pycache 目录中移动出来,compileall中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Acg8mnS3-1571995894451)(C:\Users\xiahuadong\Pictures\博客\82.png)]
2、需要将model.cpython-36.pyc重命名为model.pyc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l2nKea5V-1571995894451)(C:\Users\xiahuadong\Pictures\博客\83.png)]
不能运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpNGtD5b-1571995894452)(C:\Users\xiahuadong\Pictures\博客\84.png)]
只能import pyc文件。不能用python3.6运行pyc文件

扫描二维码关注公众号,回复: 7605734 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_44493841/article/details/102747144