PyInstaller打包Python项目完整指南:单文件、多文件及体积优化
本文详细介绍如何使用PyInstaller将Python项目打包为可执行文件。涵盖单文件打包、添加图标、多文件项目打包及静态资源路径处理等核心操作。针对打包后文件体积过大的问题,提供通过虚拟环境精简依赖的优化方案,帮助开发者高效完成Python应用的发布与部署。
一、单个文件打包
1.1 简单打包
假设当前目录下存在一个名为main.py的Python脚本,其内容如下所示。
import os
print("hello world")
os.system("pause")
运行该脚本后的输出结果如图所示。

接下来,使用以下命令将该脚本打包为单一的可执行文件pyinstaller -F main.py。
执行命令后,会在同级目录下生成一个名为dist的文件夹。该文件夹内包含生成的可执行文件,双击即可运行。

1.2 带图标打包
为了提升可执行文件的美观度,可以为生成的exe文件指定自定义图标。此时,可使用如下命令pyinstaller -F main.py-i filename.ico进行打包。
打包完成后,需将准备好的.ico图标文件复制到dist目录中,与生成的可执行文件置于同一位置即可生效。

二、项目多文件打包
上述示例仅针对简单的单文件Demo。在实际开发中,大多数项目包含多个Python文件,此时打包过程相对复杂,主要依赖以下命令进行pyinstaller -D main.py -p other1.py -p other2.py [-w] -i flie.ico处理。
如果直接按照上述方式打包,生成的文件体积可能会非常大。这是因为Python解释器及未使用的库文件也被一并打包进去了。
| 命令 | 作用 |
| -F | 打包成一个exe文件,就是不管原文件时多少个最终生成只是一个exe可执行文件,这种方式再大型项目中不适用,打开程序太慢 |
| -D | 以依赖的方式打包,类似于平时安装工具的方式,会有一对的库文件,一般项目建议这种方式 |
| -p | 主文件以外其他用到的python文件 |
| -w | 运行程序的时候不显示终端。如果不加的话就是做了UI界面,运行的时候也会跳出终端,这个视情况决定 |
| -i | 加载图标文件 |
以上列举了常用命令的作用,其他更多命令参数可查阅PyInstaller官方文档获取详细信息。
具体例程如下所示:
假设有一个包含4个Python文件的项目,运行主程序的效果如图所示。

使用如下命令进行打包pyinstaller -D MysherTools.py -p BLC.py -p consistencyCheck.py -p ui.py -w -i .\inco\tool.ico。
打包完成后生成的文件结构如图所示。

双击运行生成的exe可执行文件,效果如图所示。

若出现类似上述的提示错误,通常是因为程序依赖的静态文件未放置在正确的路径下。例如,打包时指定的ico文件位于icon目录下,因此需要将整个icon目录拷贝至可执行文件所在的运行路径下。将静态资源放置到指定位置后,程序即可正常运行,效果如图所示。

注意:务必确保程序运行所需的静态文件路径配置正确,否则会导致运行时错误。
三、打包后文件太大
为解决此问题,建议创建一个独立的虚拟环境,仅安装项目实际依赖的库文件。随后在该虚拟环境中进行打包,这样生成的可执行文件体积会显著减小。
至此,关于使用PyInstaller打包Python项目的教程介绍完毕。如需了解更多相关PyInstaller打包Python的内容,请搜索本站历史文章或继续浏览后续相关文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









