python pyinstaller打包要点

本文介绍了如何使用PyInstaller工具将Python脚本打包成exe,包括安装、打包机制、命令行参数、带界面程序、图标定制等内容,方便跨平台分享和使用。
摘要由CSDN通过智能技术生成

原文章

https://www.cnblogs.com/amanda-yl/p/14794782.html

/1 前言/

 

  为何要打包?

 

我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方包,是不是有点小麻烦?但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。所以,从看了这个教程以后,这都将成为过去式,打成exe之后,分享即可用。

 

2.安装pyinstaller

使用安装命令:pip3 install pyinstaller

 

/3 pyinstaller打包机制/

 

  我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe。

 

  即使我们的项目只使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests包,但是requests包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器一起打包。如下图所示。

3535235e4ca7410bbf73c32f8bddf649.jpg

 蓝色表示是安装requests依赖的包,看到了吧!

 

/4 Pyinstaller打包exe/

 

 这里呢,我就拿刚给同事写办公自动化脚本示例一下。源码示例效果,如下图所示。

884620a2caaf40a18ef4514eae401969.jpg

 

1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.py,如下图所示。

d31d269b9fc9411b8c8555d19133302c.jpg

 ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。

 

 

  2、执行完毕之后,会生成几个文件夹,如下图所

示。

836834f32d374209b863923ccbfbdb08.jpg

 3、在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示。

3efafcac6df345da9b812b3c34fa5cbd.jpg

 4、我们把这个setup.exe拖到和setup.py平级的目录,我们来运行一下这个,效果图如下图所示。

227059867eed487c99a113c4523893c2.jpg

 5、这样,我们就完成了一个打包工作,如果别人需要,即使没有python环境,他依然可以运行。

 

  6、接下来我们再来打包一个带界面的,这里我用pyqt5写了一个最简单的框架,看一下打包成exe是否能运行成功,效果图如下图所示。

dae81896df444a56a2761b233ecd0ed9.jpg

 我们可以看到,后面有一个黑洞洞的窗口,这就有点尴尬了,所以,我们的打包命令也要变一下。

 

  7、执行 pyinstaller -F -wsetup.py 多加-w以后,就不会显示黑洞洞的控制台了,这里就不做演示啦!

 

  8、但是我们打包的exe,我们的图标呀,实在是有点丑陋,默认的,没有一点自己的风格,那么,我们应该怎么改一下呢?

 

执行命令:pyinstaller -F -w-i wind.ico setup.py,如下图所示。

53a46724f43946029de2f59060443433.jpg

 9、默认打包图片,如下图所示。

1ba1893d7a3346c9bdb66a207f6e8aad.jpg

  10、加上 -i 参数之后,如下图所示,会形成一个类似风力发电机的logo图案。

 

bfc5a277b4f14f4da4bb914ec8049687.jpg

 ps:程序路径最好全部都是英文,否则肯能会出现莫名其妙的问题

 

  11、到此,我们能用到的pyton打包成exe命令都总结完了

 

/5 总结命令/

 

Pyinstaller -F setup.py 打包exe

 

Pyinstaller -F -w setup.py 不带控制台的打包

 

Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包

 

平常我们只需要这三个就好了,足够满足所有需求了。

 

/6 结语/

 

  到这之后呢,python打包成exe基本算是结束了,记得一定要把pip升级成最新版的pip在安装pyinstaller哈。要不然可能会出现莫名奇妙的问题。不信邪的小伙伴们可以自己试试看,多碰碰壁也是可以学到很多的。

 

 

  • 47
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值