Python --- pyinstaller --- 打包成exe并更换图标

安装pyinstaller

首先要安装第三方库pyinstaller,打开dos窗口输入安装命令如下。

pip install pyinstaller

执行打包命令

输入命令,pyinstaller -F 绝对路径。(-F表示覆盖打包,如果多次进行修改并打包,执行这个命令就是最新的)

pyinstaller -F X:\project\myProject\TransferToDecimal.py

执行完命令之后会生成几个文件夹,pycache,dist和build。

可能出现的问题

但是我就遇到了这样的问题,在执行完打包命令之后在py文件所在目录中只生成了一个_pycache_文件夹,并没有所谓的dist和build文件夹,于是我用各种方法解决,卸载重新安装pyinstaller,重新执行打包命令之后还是同样的问题。

仔细看了命令执行过程中的内容,发现了一个路径,顺着这个路径找到了这个文件夹(C:\Users\Qxy),发现不是没有生成dist和build,而是生成在其它文件夹中了。

运行exe程序

build和_pycache_中的文件先不用管,关键是dist中可执行的exe程序。(图是改了图标之后截取的,更换图标的方法在下一小节...)

双击就可以直接运行,这样在没有python的环境下,也依然可以运行了。

更换exe程序图标

如果不喜欢默认的图标,想要换成自己喜欢的,那么需要准备后缀为.ico的图片。在网页上就可以在线转图片格式,很方便。
执行命令:pyinstaller -F -i 图片名.ico 文件名.py。(-i表示更换图标)

pyinstaller -F -i X:\yus.ico X:\project\myProject\TransferToDecimal.py

去掉dos窗口

因为我打包的是一个图形界面,发现每次运行程序的时候,都会显示dos窗口,想取消掉,就执行-w命令。再重新打包后,就会只显示图形界面,没有dos窗口了。

pyinstaller -F -w X:\yus.ico X:\project\myProject\TransferToDecimal.py

pyinstaller参数

附上pyinstaller常用的参数列表。

参数含义
-F 打包单个文件,生成结果是一个exe文件,如果代码都写在一个.py文件时使用,项目有多个文件时不要使用
-i 指定程序的图标
-w 不显示dos窗口(命令行)
-c 显示dos窗口(命令行)
-h 显示帮助
-v 显示版本号
--key=密码 加密打包

ps:虽然只是一个非常小(2kb)的程序,打包完之后居然也有10m。

 

 

 pyinstall打包后出现路径问题,获取excel文件路径错误,解决方法:

#获取当前路径

w1 = os.path.dirname(os.path.realpath(sys.executable))

#获取上一级路径

w2 = os.path.dirname(os.path.dirname(os.path.realpath(system.executable)))

posted @ 2021-11-01 14:35  Maybach  阅读(2093)  评论(0编辑  收藏  举报