zipapp - 管理可执行 Python zip 压缩包


zipapp 模块自 Python 3.5 版本起已包含在标准库中。此模块用于管理包含 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(source)

从源文件夹创建一个应用程序存档。此外,还可以使用 interpreter、target 和 compressed 参数。

zipapp.get_interpreter(archive)

返回存档开头 #! 行中指定的解释器。

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

更新于:2019年7月30日

527 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告