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')
广告