Python 是非常受欢迎的一门编程语言,其中之一的原因就是其强大的包管理工具。但是,在将 Python 应用部署到其他计算机上时,如何让其运行依然是一个问题。这时候,带有资源的打包就是必不可少的。
Python 的打包工具有很多,比如 PyInstaller、cx_Freeze、py2exe 等等。在这篇文章中,我们介绍 PyInstaller。相比其他打包工具,它的特点是能够将应用程序“静态”打包,即在打包后的应用中,不需要动态加载任何模块。
pip install pyinstaller
安装好 PyInstaller 后,我们可以使用以下命令打包应用:
pyinstaller --onefile --add-data 'resource.png;.' main.py
其中 main.py 是您的 Python 应用程序的主文件,--onefile
表示将应用程序打包到一个可执行的文件中。如果不使用这个标志,则会生成一个目录,而不是一个文件。--add-data
标志用于指定资源文件的路径。资源文件和应用程序在同一个目录下。
PyInstaller 不会自动找出您的应用程序所需的依赖项。因此,您需要加上--hidden-import
标志指定需要隐藏的模块。比如,您的应用使用了 pandas,则可以这样写:
pyinstaller --onefile --add-data 'resource.png;.' --hidden-import pandas main.py
注意,--hidden-import pandas
这部分参数中的空格不可省略。如果这行参数中的空格省略了,则需要将标志和参数用引号括起来。
打包完成后,会在当前目录下创建一个 dist 文件夹。您的可执行文件在 dist 文件夹中。
总结:
通过 PyInstaller 的静态打包方式,将 Python 应用程序及其资源文件打包成一个独立的可执行文件,这个可执行文件不需要安装 Python 解释器、依赖项以及环境配置,从而大大提高了 Python 应用程序的部署效率与配置效率。