步骤(在cmd中操作)
1. 安装pyinstaller
pip install pyinstaller
2. 准备py项目
- 项目的main.py最好在项目的根目录下(main.py仅指程序的主入口,根据自己的项目灵活变通)
- 将资源文件都放在同一个文件夹中
- 更改py程序中的文件读取方法(下方提供一种可供参考的文件读取方式)
import os
import sys
def resource_path(relative_path):
"""用于.py打包为.exe文件时,资源文件的路径处理"""
if getattr(sys, 'frozen', False): #是否Bundle Resource
base_path = sys._MEIPASS
else:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
3. 生成.spec文件,并修改
- cmd中,在项目的根目录下,运行
pyi-makespec -F main.py
- 对项目根目录下的.spec文件夹做出修改
在a处,以列表的形式添加项目中所有的.py文件,非根目录的要写完整路径
在b处,以元组的形式添加资源文件夹,第一个参数是py项目中资源文件(非py文件)的路径,第二个参数是资源在exe中保存此资源的文件夹名,要和项目中的文件夹名相同
在.spec文件的末尾处,即c处,可以添加.exe文件图标地址。
此处的图标格式必须为.ico,否则会报错。
可以通过以下网站转换图片格式:https://www.easyicon.net/covert/.
4. 用修改后的.spec文件制作.exe
命令:pyinstaller -d main.spec
最后.exe文件在根目录下dist文件夹下