zoukankan      html  css  js  c++  java
  • 三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

    /1 前言/

      嘿,各位小伙伴,晚上好呀,我相信各位小伙伴都是python的爱好者。也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇。再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈。

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

      PS: 如果打包为exe的话,版本尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但是如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,只是只能在win64位系统上跑。

    /2 安装pyinstaller/

     首先安装pyinstaller,使用安装命令:pip3 install pyinstaller,如下图所示。

     
     

    /3 pyinstaller打包机制/

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

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

     
     

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

    /4 Pyinstaller打包exe/

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

     
     

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

     
     

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

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

     
     

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

     
     

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

     
     

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

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

     
     

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

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

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

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

     
     

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

     
     

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

     
     

      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哈。要不然可能会出现莫名奇妙的问题。不信邪的小伙伴们可以自己试试看,多碰碰壁也是可以学到很多的。



    作者:Python进阶学习交流
    链接:https://www.jianshu.com/p/8c796af791c9
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/dcpeng/p/12324703.html
Copyright © 2011-2022 走看看