第十章:Pyinstaller库打包Python项目为Windows可执行文件.exe
一、PyInstaller简介
PyInstaller 是一个功能强大的跨平台打包工具,它能够将 Python 脚本及其所有依赖项打包成一个独立的可执行文件。这意味着,无论目标系统是否安装了 Python 环境,都可以轻松运行我们的程序。资源绑定附上完整资料供读者参考学习。
二、安装PyInstaller
确保您已安装Python并更新 pip
至最新版本,然后使用 pip
安装PyInstaller:
pip install --upgrade pip
pip install pyinstaller
安装完成后,可以通过以下命令验证是否安装成功:
pyinstaller --version
参考演示:
1.win+R弹出运行窗口并输入cmd回车
2.安装Pyinstaller库
3.检查是否安装成功
三、PyInstaller常用参数详解
以下是PyInstaller的一些常用参数,使用这些参数可以满足大多数的打包需求:
基础参数
参数 | 全称 | 作用 | 示例 |
---|---|---|---|
-F 或 --onefile | 打包成单个可执行文件 | 将所有内容打包到一个独立的二进制文件中,便于程序的分发和部署 | pyinstaller -F yourscript.py |
-D 或 --onedir | 打包成含多个文件的目录 | 在这种模式下,PyInstaller 会将可执行文件和相关依赖文件放在同一个目录中,方便开发者查看和管理文件结构 | pyinstaller -D yourscript.py |
-w 或 --windowed | 为 Windows GUI 应用不显示控制台窗口 | 对于图形界面应用程序,如使用 Tkinter、PyQt 开发的程序,不显示控制台窗口能让程序界面更加简洁美观,提升用户体验 | pyinstaller -F -w yourguiapp.py |
-c 或 --console | 为 Windows 应用显示控制台窗口 | 当程序需要在控制台输出调试信息、接收用户输入时,显示控制台窗口能方便开发者进行调试和交互操作 | pyinstaller -c yourscript.py |
-n 或 --name | 指定输出文件名称 | 在多个程序打包时,通过指定不同的输出文件名,能避免文件名冲突,方便管理和识别不同的程序 | pyinstaller -F -n newname yourscript.py |
资源与模块参数
参数 | 全称 | 作用 | 示例 |
---|---|---|---|
--add-data | 无 | 添加非 Python 文件或目录到打包文件中,在开发中,很多程序需要加载外部的数据文件,如配置文件、图片、文本文件等,使用该参数可以将这些文件一并打包进可执行文件,确保程序在运行时能够找到所需资源 | pyinstaller -F --add-data "data.txt;." yourscript.py |
--hidden-import | 无 | 手动指定需导入的模块,当程序中存在动态导入模块的情况,PyInstaller 可能无法自动检测到这些模块,此时就需要通过该参数手动指定,以保证程序打包后能正常运行 | pyinstaller -F --hidden-import module yourscript.py |
--exclude-module | 无 | 排除不需要的模块,在某些情况下,程序中可能存在一些在特定运行环境下不需要的模块,使用该参数可以将其排除在打包范围之外,从而减小打包文件的体积,提高程序的加载速度 | pyinstaller -F --exclude-module unneeded_module yourscript.py |
其他参数
参数 | 全称 | 作用 | 示例 |
---|---|---|---|
--upx-dir | 无 | 指定 UPX 压缩工具路径,UPX 是一种可执行文件压缩工具,PyInstaller 默认使用它来压缩可执行文件,通过指定其路径,可以在打包时使用该工具对文件进行压缩,进一步减小文件体积 | pyinstaller -F --upx-dir /path/to/upx yourscript.py |
--workpath | 无 | 指定生成过程工作路径,在打包过程中,PyInstaller 会产生一些临时文件和中间文件,通过指定工作路径,可以将这些文件存储在自定义的目录中,便于管理和清理 | pyinstaller -F --workpath /custom/workpath yourscript.py |
--distpath | 无 | 指定最终生成文件和依赖文件夹路径,默认情况下,PyInstaller 会在当前目录下创建一个 dist 文件夹来存放生成的可执行文件和依赖文件,使用该参数可以将其指定到其他目录,方便组织项目结构 | pyinstaller -F --distpath /custom/distpath yourscript.py |
--specpath | 无 | 指定.spec 文件生成路径,.spec 文件包含了打包过程的配置信息,通过指定其生成路径,可以将该文件存放在更合适的位置,便于后续对打包配置进行修改和管理 | pyinstaller -F --specpath /custom/specpath yourscript.py |
四、打包示例
示例一:打包turtle库绘制猪猪侠.py
1.我的猪猪侠.py地址如下:
"D:\python project\Pyinstaller库打包\猪猪侠.py"
2.在猪猪侠.py所在目录(文件夹)输入cmd命令弹出运行终端(小黑窗)
3.输入打包命令pyinstaller -F 猪猪侠.py并回车
4.当前目录下找到dist文件夹,生成的可执行.exe文件就在里面,双击直接运行。
执行完命令后,PyInstaller 会开始分析脚本的依赖项,并将它们打包成一个单独的可执行文件。打包完成后,在项目的 dist
子目录下会生成一个 猪猪侠.exe
文件。你可以将这个文件发送给好友,只需双击即可运行程序,无需进行任何环境配置。
示例二:打包tkinter库制作简易计算器.py
1.我的简易计算器.py地址如下:
"D:\python project\Pyinstaller库打包\简易计算器.py"
2.在简易计算器.py所在目录(文件夹)输入cmd命令弹出运行终端(小黑窗)
3.输入打包命令pyinstaller -F 简易计算器.py并回车
4.当前目录下找到dist文件夹,生成的可执行.exe文件就在里面,双击直接运行。
同样地,执行完命令后,PyInstaller 会将简易计算器.py
及其所有依赖项打包成一个单独的可执行文件。打包完成后,在项目的 dist
子目录下会生成一个简易计算器.exe
文件。双击该文件即可运行简易计算器程序。
示例三:打包pygame库开发Python五子棋项目
1.我的Python五子棋(项目里的main.py)地址如下:
"D:\python project\Pyinstaller库打包\Python五子棋\main.py"
2.在main.py所在目录(文件夹)输入cmd命令弹出运行终端(小黑窗)
3.输入打包命令pyinstaller -F main.py
并回车
4.当前目录下找到dist文件夹,与前面不同的是,这是一个小项目,需要把iss.jpg和start.wav复制到dist文件夹里,再双击直接运行生成的可执行.exe文件。
五、总结
通过以上示例,我们详细介绍了如何使用 PyInstaller 将 Python 项目打包成 Windows 可执行文件 .exe。无论你的项目是基于 turtle、tkinter 还是 pygame 库开发的,PyInstaller 都能轻松地将其转换为独立的可执行文件,方便你将其分享给没有 Python 环境的用户。当然,Pyinstaller库还有其他用法比如给打包文件添加图标,还需要读者继续探索学习,希望本篇教程对你有所帮助!资源绑定附上完整资料供读者参考学习。