将python程序打包成exe

将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

将python程序打包成exe插图

最终,我安装成功了,如下图所示。

将python程序打包成exe插图1

如果安装失败了,可能是time out,然后可以通过以下链接下载:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

找到pyinstaller

将python程序打包成exe插图2

下载之后,放在一个指定位置,然后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

将python程序打包成exe插图3

最终结果:

将python程序打包成exe插图4

整个打包的过程,可以查看一下这个视频,来源于:https://mp.weixin.qq.com/s/rL84_hBqH4CX-SmUXnjKAQ

不过呢,我没有这么顺利,我出现了错误。

我成功生成了exe文件。不过在点击exe文件时,出现了如下图所示的错误。

将python程序打包成exe插图5

参考博客:https://blog.csdn.net/lcsjdn/article/details/88838125

参考博客:https://blog.csdn.net/haimianjie2012/article/details/108058354

参考博客:https://www.cnblogs.com/sunchuankai/p/14174261.html

其中,有一个比较重要的问题是代码里面所涉及到的路径之类的都需要是绝对路径,而不是相对路径。

所以,我把上个博客上的代码更改了一下:

由原来的

  1. Frame.resizable(False,False)

  2. file = Image.open('./music player/picture/image.jpg')

  3. img = ImageTk.PhotoImage(file)

  4. background = tkinter.Label(Frame, image=img)

    更改为:

  1. Frame.resizable(False,False)

  2. file = Image.open('E:\python\music player\picture\image.jpg')

  3. img = ImageTk.PhotoImage(file)

  4. background = tkinter.Label(Frame, image=img)

好了,这样就可以了,然后打开:

E:\python\music player\dist

将python程序打包成exe插图6

点击这个就可以打开程序了,

将python程序打包成exe插图7