python如何打包成应用
使用 pyinstall 如何把 python 代码打包成 exe 可执行文件的步骤、并简要介绍打包原理。
简介:
PyInstaller 将 Python 应用程序及其所有依赖项捆绑到一个包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序。PyInstaller 支持 Python 3.7 及更高版本,并正确捆绑许多主要的 Python 包,例如 numpy、matplotlib、PyQt、wxPython 等。
安装命令:
pip install -U pyinstaller
打包原理
PyInstaller 读取编写的 Python 脚本,它分析代码以发现脚本执行所需的所有其他模块和库,然后它会收集所有这些文件的副本 - 包括活动的 Python 解释器!并将它们与您的脚本放在一个文件夹中,或者可选地放在一个可执行文件中。
如何查找程序的依赖项
python脚本需要哪些模块和库才能运行?(这些有时被称为“依赖项”。)PyInstaller 会查找import脚本中的所有语句。它查找导入的模块并在其中查找import 语句,如此递归,直到获得脚本可能使用的模块的完整列表。
程序如何运行
打包的程序始终在 PyInstaller 引导加载程序中开始执行。consoles(是下一小节的用例名词)这是文件夹中可执行文件的核心。PyInstaller 引导加载程序是适用于Windows、GNU/Linux、macOS 等平台的的二进制可执行程序。当用户启动程序时,引导加载程序就会运行。引导加载程序会创建一个临时的 Python 环境,以便 Python 解释器在该consoles文件夹中找到所有导入的模块和库。引导加载程序启动 Python 解释器的副本来执行您的脚本。只要包含所有必要的支持文件,一切都会正常进行。
快速使用
在command界面输入pyinstaller.exe -h 可以看到详细的使用方法
简单用例:
创建一个非常简单的测试用例 demo2.py
# pip install -U pyinstaller import time if __name__ == '__main__': print("开始测试") for i in range(1, 101): print("count", i) time.sleep(0.5)
输入打包命令 pyinstaller.exe -F .\demo2.py
可以看到打包成功之后,生成了两个文件夹:
(1)build文件夹里存放了打包过程的临时文件。
(2)dict文件夹存放了生成的可执行文件和其依赖,由于样例比较简单,依赖项较少。
运行可执行文件,则会打印执行结果