zipapp-管理可执行的Python zip存档

从3.5版开始,zipapp模块已在Python的标准库中引入。该模块用于管理包含Python代码的zip文件的创建,这些文件可以由Python解释器直接执行。该模块提供了命令行界面和编程界面。

要以编程方式使用zipapp模块,我们应该有一个包含主要功能的模块。可执行档案是通过以下命令构建的-

python -m zipapp myapp -m "example:main"

在这里,当前路径应该有一个名为myapp的文件夹。在此文件夹中,应该有example.py,它必须具有main()方法。

创建myapp文件夹并将以下代码另存为example.py-

def main():
   print ('Hello World')
if __name__=='__main__':
   main()

当从命令终端执行上述命令时,将创建myapp.pyz。现在,我们可以在命令提示符下执行它。

C:\python37>python myapp.pyz
Hello World

支持以下命令行选项-

-o <output>, --output=<output>

默认情况下,输出文件名带有.pyz扩展名和名称与输入源相同。可以通过在-o选项中指定来更改它。

-p <interpreter>, --python=<interpreter>

这用于将解释器明确指定为要运行的命令。

-c, --compress

使用deflate方法压缩文件,以减小输出文件的大小。

zipapp模块可以通过编程方式使用。它定义了以下功能-

zipapp.create_archive(源)

从源文件夹创建应用程序存档。此外,可以使用解释器,目标和压缩参数。

zipapp.get_interpreter(存档)

返回#中指定的解释器!档案开始处的一行。

>>> import zipapp
>>> zipapp.create_archive('myapp.pyz', 'myapp')