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文件夹存放了生成的可执行文件和其依赖,由于样例比较简单,依赖项较少。

运行可执行文件,则会打印执行结果

 

 

posted @ 2023-10-16 17:04  北京测试菜鸟  阅读(43)  评论(0编辑  收藏  举报