python基于pyinstaller模块打包exe文件
语言:python
IDE:pycharm
模块:pip+pyinstaller
一、创建项目
1、创建新项目
2、选择环境
二、安装pyinstaller模块
代码:
pip install pyinstaller
三、编写/克隆项目
1、创建dome.py
测试文件
2、代码:
import tkinter as tk
# tkinter图形化窗口程序
if __name__ == '__main__':
root = tk.Tk()
root.geometry('200x200+300+300')
tk.Label(root, text='测试python打包exe文件').pack()
root.mainloop()
3、运行结果
四、pyinstaller介绍
1、打包命令:
pyinstaller -option xxx.py
2、-option
注释
这边只介绍用到的option:
-D生成一个文件目录包含可执行文件和相关动态链接库和资源文件等;
-F仅生成一个可执行文件
--icon=xxx.ico设置可执行程序的图标
-W取消显示终端窗口
3、生成spec文件
pyi-makespec -option xxx.py
4、打包spec文件
pyinstaller -option xxx.spec
5、打包后生成的文件
build文件夹
:缓存文件-无实际作用
dist文件夹
:存放打包成exe的文件夹
xxx.spec
:打包的配置文件(自定义配置的文件)
五、打包单文件
pycharm
->终端
->执行
pyinstaller -w -D dome.py
打包成功后文件存放在dist文件夹
六、打包多文件
1、新建文件夹
文件夹:cetext
2、新建文件
文件:label_text.py
代码:
text = '多文件打包'
3、重写dome.py
import tkinter as tk
from cetext import label_text
# tkinter图形化窗口程序
if __name__ == '__main__':
root = tk.Tk()
root.geometry('200x200+300+300')
# 调用cetext包下label_text文件的text变量
tk.Label(root, text=label_text.text).pack()
root.mainloop()
4、创建spec文件
pycharm
->终端
->执行
pyi-makespec -w dome.py
5、编辑spec文件
暂时只需要编辑以下部分代码
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['dome.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
注释:
Analysis([]填写所有需要的py文件(绝对路径/相对路径)
pathex=[]填写项目路径,绝对路径
datas=[]填写文件夹名称,以元组形式
注意:所有\都需要携程\\
修改后:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['dome.py','F:\\Python_project\\ceshi\\cetext\\label_text.py'],
pathex=['F:\\Python_project\\ceshi'],
binaries=[],
datas=[('cetext','cetext')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
6、开始打包
pycharm
->终端
->执行
pyinstaller -w -D dome.py