编译python代码

2020年5月3日 / 28次阅读 / Last Modified 2020年5月3日
安装配置

python作为一种解释执行的高级语言,在执行之前,是无需显示的编译的。python解释器会在代码载入的时候,自动将python源码编译成python的byte code,然后执行。这样做的好处是,如果某个模块的源代码没有变化,下次载入的时候,就会加快速度。注意:只是加快载入的速度,而不是加快执行的速度!

我们常常见到的__pycache__目录,里面存放的就是编译成byte code之后的python代码。这个目录可以随意删除!

因此,python还是有编译这个概念的,只是一般情况下,我们用不到!一般情况下,编译的过程被python隐藏并自动化了。同时,我们也可以使用python标准库里的py_compile模块和compileall模块,来显示地编译python代码,得到.pyc或者.pyo文件(使用python -O优化编译)。如果只发布编译后的python byte code,可以起到适当保密的作用!

下面介绍如何显示地编译python文件。

编译单个python文件

>>> import py_compile
>>> py_compile.compile('test.py')

或者:

$ python3 -m py_compile test.py

这两种方式,都可以在test.py所在的目录下,自动生产__pycache__目录,里面会有一个叫test.cpython-37.pyc的文件。(学习python -m的使用

编译python项目目录下所有文件

>>> import compileall
>>> compileall.compile_dir('../src')

或者:

$ python3 -m compileall ../src

所有编译出来的.pyc文件,都放在__pycache__目录下。

以上就是对编译python代码的基础知识的学习。

-- EOF --

本文链接:https://www.pynote.net/archives/1862

留言区

《编译python代码》有1条留言

电子邮件地址不会被公开。 必填项已用*标注

  • 麦新杰

    py_compile和compileall模块,都属于python标准库。 [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top