淘先锋技术网

首页 1 2 3 4 5 6 7

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 应用程序的部署效率与配置效率。