最近利用tkinter写了一个小工具,并且打包为exe运行,以下记录总结下过程。
1、新建目录,将代码以及其他文件放入
2、创建虚拟环境,使用的pycharm,打开pycharm,点击终端,执行
python -m venv venv
3、打开设置-->项目-->python解释器, 修改解释器为虚拟环境
4、重启终端,使虚拟环境生效,安装用到的三方模块
执行pip list 验证,若是无法启动,可能需要执行以下步骤:
1、终端输入get-executionpolicy,回车返回Restricted。
2、win+r快捷键打开,输入 powershell 打开 windows powershell,命令窗口输
Start-Process powershell -Verb runAs 进入管理员模式,再输入
set-executionpolicy remotesigned,回车,输入Y。
5、安装pyinstaller
pip install pyinstaller
6、打包
<1>平常若是只是一个python文件,可以执行以下简单的命令打包
pyinstaller xxx.py
<2>若是多文件打包:
需要首先生成空的spec文件
pyi-makespec .\xxx.py --collect-all tempering_conf
tempering_conf是你的其他文件目录,或者使用以下命令
pyi-makespec .\tamper_gui.py --collect-all tempering_conf -F -w
-F 表示将程序打包为单个文件
-w 表示运行时不显示黑框口
打开生成的spec 文件加入资源路径
SETUP_DIR = 'F:\\tk_demo\\tamper\\'
datas = [(SETUP_DIR+'tempering_conf', 'tempering_conf')]
binaries = []
hiddenimports = ['requests','selenium','undetected_chromedriver','func_timeout','docx']
tmp_ret = collect_all('tempering_conf')
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
a = Analysis(
['tamper_gui.py',
'F:\\tk_demo\\tamper\\tempering_conf\\__init__.py',
'F:\\tk_demo\\tamper\\tempering_conf\\aa.py',
'F:\\tk_demo\\tamper\\tempering_conf\\bb.py',
'F:\\tk_demo\\tamper\\tempering_conf\\cc.py',
'F:\\tk_demo\\tamper\\tempering_conf\\dd.py',
'F:\\tk_demo\\tamper\\tempering_conf\\ee.py',
'F:\\tk_demo\\tamper\\tempering_conf\\ff.py',
],
pathex=['F:\\tk_demo\\tamper'],
binaries=binaries,
datas=datas,
hiddenimports=hiddenimports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
hiddenimports 中可以加入运行exe时找不到python的三方模块
datas中可以加入你的静态资源路径
最后重新打包
pyinstaller xxx.spec