python 打包exe


​ 起因:闲的蛋疼

​ 过程:扯的蛋疼

​ 结果:不疼了

​ 1、起因(闲的蛋疼)

​ 突然的emo,不想干活,于是乎找遍微信好友,群发了十年八辈子不联系的一群人(此办法学习于曾经这样对我的人),忙?,于是乎没人回消息.....没办法找小伙伴闲扯吧,于是乎找到了狗子,狗子直接甩给我一个excel,然后说:爸爸,帮我看看怎么快速确定每个单元格内容重复多少次。爸爸都叫了我能不帮吗?于是乎我遍搜excel找函数,最后终于找到了,结果不太理想,不太会玩excel,介于爸爸的身份,那就帮到底吧,就用py写个了个脚本处理,直接输出不同单元格元素出现的次数,写好发他了,他告诉我不想装py环境....这就是让嚼碎了喂嘴里呀,我整个又不爽了,写好了你不用那不是让我做无用功嘛,不行,你必须得用,于是乎我就想到了你不想搞环境那我就直接给你搞个可执行文件(windows上就是exe)不就行了,说干就干,马上把百度打开.......你问我打开百度干嘛?你可以去找度娘问问我为啥这样做

​ 2、过程(扯的蛋疼)

​ 1、经过一通cn.bing.com,终于了解到原来如此简单,使用Pyinstaller就能实现

​ 2、说干就干反正有网直接在线安装Pyinstaller

pip install pyinstaller
你如果没有切换国内源可能会比较慢的痛苦
使用清华源下载安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller

​ 3、了解一下Pyinstaller指令

指令 描述
-h, --help 显示此帮助消息并退出
-v, --version 显示程序版本信息并退出。
--distpath 放置捆绑应用的位置,即打包成的文件放置的目录(默认值:./dist)
--workpath 所有临时工作文件.log、.pyz 放在哪里 等等(默认:./build)
--clean 清理 PyInstaller 缓存并删除临时文件,在构建之前
--log-level LEVEL 构建时控制台消息中的详细信息量。LEVEL可能是TRACE、DEBUG、INFO、WARN、ERROR、CRITICAL之一(默认值:INFO)。
-D, --onedir 创建包含可执行文件的单文件夹捆绑包 (默认)
-F,--onefile 创建一个单文件捆绑可执行文件。
--specpath 存储生成的规格文件的文件夹(默认: 当前目录)
-n NAME,--name 分配给捆绑应用程序和规范文件的名称 (默认值:第一个脚本的基本名称)
-p,--pathDir 搜索导入的路径(如使用 PYTHONPATH)。 允许多个路径,用 ':' 分隔,或者 多次使用此选项。相当于 在规范文件中提供 pathex 参数。
--copy-metadata 复制指定包的元数据。该选项可以多次使用次。
-w,--windowed, --noconsole 重点:这个选项如果没有,那么你就打不出来窗口程序包,Windows 和 Mac OS X:不提供标准 I/O 的控制台窗口。在 Mac OS 这也会触发构建 Mac OS .app 捆绑包。在 Windows 上这个 如果第一个脚本是“.pyw”文件,则会自动设置选项。
-i或FILE.exe,IDFILE.icns或图像或或FILE.exe,ID或FILE.icns或图片或“无”>--图标,“无”> 这里设置的是logo图标,可以是空,FILE.ico:将图标应用于 Windows 可执行文件。 FILE.exe,ID: 解压 带有来自 exe 的 ID 的图标。 FILE.icns:将图标应用到 .app 包上 苹果系统。如果输入的图像文件不是平台格式(ico 在 Windows 上,在 Mac 上为 icns),PyInstaller 尝试使用 Pillow 来翻译 图标转换为正确的格式(如果安装了 Pillow)。使用“NONE”不 应用任何图标,从而使操作系统显示一些默认值(默认值:应用 PyInstaller 的图标)。该选项可以多次使用。

​ 指令还有很多,我就不一一列举了,反正我也只是从中挑了几个关键性的看了一下便于接下来使用

​ 4、准备了一个logo,加上我的py文件也就两个

​ app.py、a.ico

​ 5、开始编译

pyinstaller -F -w -i app.ico app.py

​ 接下来开始疼了,


​ 包打出来了,但是点击一闪而过,卧*,啥原因,想来想去好像我写的本来就是个控制台输出,没有什么可视化界面哦,我擦嘞,还得看看怎么搞个简单的可视化界面出来,于是我就又去简单看了一下py的GUI,用tkinter搞了个简单的页面,页面张啥样?自己看去吧https://github.com/SunArmy/handle_excel/

​ 真爽,然后重新开始编译,出来了一个app包(因为我是Mac电脑),问题来了,我想要exe呀,这小伙用的是win,幸好我电脑有个win的虚机,直接打开,文件放进去开始编译,安装py环境,抱着用新不用旧的观念(害死人),直接安装了py3.12,一路顺丰,开始编译

​ 结果凉凉了,编译失败,打不出来,仔细看了报错信息,跟我说是找不到Windows-64bit-arm,根据路径去看了一下确实没有,只有一个Windows-64bit-intel文件夹,郁闷了,这不应该呀,我电脑确实是M1的处理器,底层ARM架构,但是理论上来讲不应该能拉下来intel的依赖偏偏缺少arm的,

​ 这个过程花费了我大概两个小时,脑细胞死N个亿,头发掉N根,中间自己重新下载过pyinstaller离线包,自己去编译,确实出来了而且能用,但是我还是纠结于为啥直接用就不行呢?

​ 思来想去跟我Mac上唯一的不同可能就是py版本不同,Mac上的版本是3.8的,所以我就果断卸载了3.12重新安装了3.8,一路丝滑,打出来了

​ 3、结果(不疼了,好爽)

​ 至此,在经历了各种苦难之后成功打出了exe文件,给好大儿发过去。

​ 我在网上看到这么一个实用之处分享给你们作为学习动力,假如有个小姐姐需要一个自动化脚本工具,可她电脑又没有py环境,这个时候打个exe发给她是不是就很贴心,什么?你说不如给她装py环境更能体现你的技术,那你也挺聪明的,指不定文件出问题或者不小心编辑到了各种问题都要频繁找你,你真是个心机boy哦

使用python 打包成exe文件的更多相关文章

  1. py库:把python打包成exe文件(pyinstaller)

    http://blog.csdn.net/be_quiet_endeavor/article/details/73929077 用Pyinstaller把Python3.4程序打包成可执行文件exe ...

  2. Python打包成exe文件很难?一分钟即可学会,并添加图标!

    环境1.python 3.72.pyinstaller下载方式:2.1 python安装(略)2.2 安装pyinstaller打开DOS窗口输入以下命令:pip install pyinstalle ...

  3. 使用pyinstaller将python打包成exe文件

    步骤: 1)win+R 输入cmd打开dos窗口   2)先安装pyinstaller: pip install pyinstaller 3)然后使用cd命令进入项目文件的路径下:   4)再使用命令 ...

  4. python打包成exe文件

    在cmd命令提示符窗口中输入pip install pyinstaller(在python3的环境下,假如不能安装的话,用pip3 install pyinstaller指令) 使用指令pyinsta ...

  5. Python Windows下打包成exe文件

    Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...

  6. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  7. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  8. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  9. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  10. python画猫并打包成EXE文件

    因python自带有海龟画图库,尝试给爱猫的小仙女来画个猫咪. 1.代码如下 from turtle import * #两个函数用于画心 def curvemove(): for i in rang ...

随机推荐

  1. apache-jmeter-5.6.3版本报错:errorlevel=1的解决办法

    一.背景: 今天遇到了apache-jmeter-5.6.3版本,下载解决后,打开bin下的:jmeter.bat报错 二.解决方法:  尝试解决了jmeter.bat的内存占用还是没有解决 最终发现 ...

  2. go 接口学习笔记

    这里是对接口在汇编层面上转换和实现的小结,详细了解可参考 Go 语言接口的原理 1. 类型转换:结构体到接口 1.1 结构体方法实现接口 package main type Duck interfac ...

  3. [java] - 数据库连接工具类

    package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExceptio ...

  4. Linux-用户管理-useradd-userdel-id

  5. Linux-关机重启和注销

  6. MySQL shell 备份数据库

    MySQL shell 备份数据库 背景 之前使用 mysqldump 和 mysql source 的方式备份数据库非常缓慢 有时候要耗费非常长的时间 今天发现有一个可以快速备份数据库的 mysql ...

  7. [转帖]Prometheus-使用python开发exporter

    exporter有很多,但想要特定需求的话,还需自行开发.在这里使用python写一个exporter,用于监控/root下的目录数量. 开发exporter需要使用prometheus_client ...

  8. [转帖]TiDB 6.1 单机环境 On openEular 2003 SP3

    https://tidb.net/book/book-rush/best-practice/other-practice/tidb61-on-openEular2003 背景​ 最近对国产操作系统很感 ...

  9. [转帖]Linux 内核 | 网络流量限速方案大 PK

    https://maimai.cn/article/detail?fid=1674483493&efid=UXVPILU_JTlqLrYhTkDStA 网络流量限速是一个经久不衰的话题,Lin ...

  10. [转帖]QPS 最高提升 91% | 腾讯云 TKE 基于 Cilium eBPF 提升 k8s Service 性能

    https://my.oschina.net/cncf/blog/5121393   朱瑜坚,腾讯云后台工程师,主要负责腾讯云 TKE 容器网络的构建和相关网络组件的设计.开发和维护工作.张浩,腾讯云 ...