将python程序打包成exe,这样我们下次想要实用自己写的python时,就不需要打开python或者编辑器了,可以直接点了exe运行,是个比较实用的功能。
参考链接:https://www.cnblogs.com/mini-monkey/p/11195309.html
参考链接:https://blog.csdn.net/dyz_123456/article/details/80593966
参考链接:https://mp.weixin.qq.com/s/rL84_hBqH4CX-SmUXnjKAQ
安装pyinstaller
pip install pyinstaller
在windows中,打开cmd
最终,我安装成功了,如下图所示。
如果安装失败了,可能是time out,然后可以通过以下链接下载:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
找到pyinstaller
下载之后,放在一个指定位置,然后cmd之后cd到该位置
pip install PyInstaller‑3.6‑py2.py3‑none‑any.whl
打包exe
若需将xxx.py文件打包,只需在终端执行:
pyinstaller xxx.py
注:终端需切换至xxx.py文件所在目录下。
常用可选项及说明:
- -F:打包后只生成单个exe格式文件;
- -D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;
- -c:默认选项,使用控制台(就是类似cmd的黑框);
- -w:不使用控制台;
- -p:添加搜索路径,让其找到对应的库;
- -i:改变生成程序的icon图标。
比如,我把上个博客中写的python文件打包成exe文件,
上个博客:python实现音乐播放器https://blog.csdn.net/yql_617540298/article/details/112434047
E:\Python\music player>pyinstaller -F music.py -w
最终结果:
整个打包的过程,可以查看一下这个视频,来源于:https://mp.weixin.qq.com/s/rL84_hBqH4CX-SmUXnjKAQ
python打包教程
不过呢,我没有这么顺利,我出现了错误。
我成功生成了exe文件。不过在点击exe文件时,出现了如下图所示的错误。
参考博客:https://blog.csdn.net/lcsjdn/article/details/88838125
参考博客:https://blog.csdn.net/haimianjie2012/article/details/108058354
参考博客:https://www.cnblogs.com/sunchuankai/p/14174261.html
其中,有一个比较重要的问题是代码里面所涉及到的图片路径之类的都需要是绝对路径,而不是相对路径。
所以,我把上个博客上的代码更改了一下:
由原来的
Frame.resizable(False,False)
file = Image.open('./music player/picture/image.jpg')
img = ImageTk.PhotoImage(file)
background = tkinter.Label(Frame, image=img)
background.image = img
background.pack()
更改为:
Frame.resizable(False,False)
file = Image.open('E:\Python\music player\picture\image.jpg')
img = ImageTk.PhotoImage(file)
background = tkinter.Label(Frame, image=img)
background.image = img
background.pack()
好了,这样就可以了,然后打开:
E:\Python\music player\dist
点击这个就可以打开程序了,