为啥要来踩坑
先是接收到一个朋友想搞一个批量导入excel的工具,于是就开始吭哧吭哧的开始了pyinstaller的踩坑之旅,过后想起来有些许蛋蛋的忧伤
近期有想法将自己写的代码成为exe文件进行程序文件执行,但是在封装这一块是小白,完全不懂啊!!
百度一下搜索到了一个神器——pyinstaller
先贴上封装后的结果图,你要是问我怎么用呢,我想说其实这个程序能完成的工作,直接用复制粘贴即可。这里只是为了测试pyinstaller随便搞了一个小小的功能。。。
通过某度得知现在python最流行的exe封装工具pyinstaller,顺便查询了一下官方文档:
# pyinstaller关键字
-v, --version 显示程序版本信息并退出。
--distpath DIR 捆绑应用的放置位置(默认值:./ dist)
-y, --noconfirm 替换输出目录(默认值:SPECPATH / dist / SPECNAME)而不要求确认
--clean 在构建之前,请清理PyInstaller缓存并删除临时文件。
-D, --onedir 创建一个包含可执行文件的单文件夹捆绑包(默认)
-F, --onefile 创建一个文件捆绑可执行文件。
-p DIR, --paths DIR 搜索导入的路径(例如使用PYTHONPATH)。允许使用多个路径,以“:”分隔,或多次使用此选项
-c, --console, --nowindowed
打开用于标准I / O的控制台窗口(默认)。在Windows上,如果第一个脚本是“ .pyw”文件,则此选项无效。
-w, --windowed, --noconsole
Windows和Mac OS X:不提供标准I / O的控制台窗口。在Mac OS X上,这也会触发构建OS X .app捆绑软件。在Windows上,如果第一个脚本是“ .pyw”文件,则将设置此选项。在* NIX系统中,此选项被忽略。
-i FILE.ico:将该图标应用于Windows可执行文件(格式必须是ico格式)
比如我需要在封装前进行缓存清理,然后封装成一个exe执行文件,且不需要显示CMD小黑框则用如下代码:
pyinstaller --clean -Fw excel.py
接下来就是代码时间。简单粗暴的为了测试封装结果的随便写了一下,并没有什么强大的功能,实际上只有复制粘贴,但是短短几行,能给我搞出几百MB,简直难以置信!!!
# -*- coding: UTF-8 -*-
import tkinter as tk
from tkinter import END
import pandas as pd
# #------------------------------窗口-----------------------------------#
window = tk.Tk()
window.title("Excel导入工具")
window.geometry("1000x600")
tk.Label(window, text="使用说明:", font=("楷体", 12)).place(x=0, y=40)
tk.Label(window, text="1.仅适用于Excel下的xlsx(2007及以上版本)或xls(2003)格式文件(必须);", font=("楷体", 12)).place(x=0, y=60)
tk.