1.安装pyinstaller

  1. pip install pyinstaller

安装遇到问题点我,安装完成之后,就可以进入下一步。如果遇到网络连接问题,关掉VPN试试。

2.先进入脚本所在文件夹(cd +文件目录)

  1. > cd D:\OneDrive\Python\notes

或者进入到文件所在位置,右键-打开命令提示符(我这个是Bandzip设置里添加的,更方便点,也可以地址栏输入cmd)。
image.png

3.执行命令:pyinstaller -F .py(表示文件名)

  1. #正常打包
  2. pyinstaller -F mycode.py
  3. #不带控制台(黑框)的打包
  4. pyinstaller -F -w mycode.py
  5. pyinstaller -F mycode.py --noconsole
  6. #带图标打包,图标和py文件放一起
  7. Pyinstaller -F -w -i tubiao.ico mycode.py

image.png
执行完后你就会在同文件夹下看到新生成的三个东西:

  • spec文件:此文件无用,可以删除;
  • dist文件夹:此文件夹下有你想要的.exe文件,可以直接在命令框执行;
  • build文件夹:此文件夹无用,可以删除;

上述执行命令中的参数“-F”是指制作独立可执行程序,如果不加这个参数,pyinstaller会把所有依赖文件抽取出来,放在dist文件夹内,这样你每次要执行exe时都要带着这一堆文件,所以,如果不是特别需要看它的依赖包的话,最好还是只生成一个独立可执行程序,比较方便。

注意:文件名不能有空格,否则无法打包!提示入下图,从图中可以看出,空格后的1.0没有被识别。
image.png

更多参数

以上三个是比较常用的参数,其他参数详见下表:
image.png

黑框问题

当我们运行刚才dist文件夹内的exe文件时,会出现控制台窗口(俗称黑窗口)。如图:(请自行忽略下面丑陋的界面~~)
image.png

控制台窗口是给开发人员用的,这是为了运行时开发人员能在控制台看到错误信息,因此,如果已经确认开发完成程序,则可以不再让这个黑乎乎的窗口出现。

打包的时候:如果没有指定路径,直接指定python文件进行pyinstaller打包的话,需要进入打包文件的目录下执行下面命令,否则还得加上文件路径才能打包。(我们用的就是先进入目录再打包。)

4、文件太大?用虚拟环境打包

可以看这篇文章:https://mp.weixin.qq.com/s/xD7RwfyXOg6V6AF9h8mPhg

拓展连接:

Pyinstaller 使用详解 :https://zhuanlan.zhihu.com/p/71081512
win10 定时任务自动运行python程序:https://www.jianshu.com/p/43676346b0be