前言

也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇(如果有)。再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈。但是呢,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方包,是不是有点小麻烦?但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。所以,从看了这个教程以后,这都将成为过去式,打成exe之后,分享即可用。PS: 如果打包为exe的话,版本尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但是如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,只是只能在win64位系统上跑。

安装pyinstaller

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

pyinstaller打包机制

我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe。即使我们的项目只使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests包,但是requests包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器一起打包。如下图所示。

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

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命令都总结完了

总结命令

Pyinstaller -F setup.py 打包exePyinstaller -F -w setup.py 不带控制台的打包Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包平常我们只需要这三个就好了,足够满足所有需求了。

结语

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

python打包成安装包_Python打包成exe,看这一篇就够了!相关推荐

  1. 合集|Python数据采集、分析挖掘、可视化,看这一篇就够了!

    这几年,"数据分析"是很火啊,在这个数据驱动一切的时代,数据挖掘和数据分析就是这个时代的"淘金",懂数据分析.拥有数据思维,往往成了大厂面试的加分项. 比如通过 ...

  2. pythonexcel数据居中_Python 自动化操作 Excel 看这一篇就够了

    0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库): 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 (1)什么是xlr ...

  3. python画图网格线设置_Matplotlib可视化入门,看这一篇就够了

    Matplotlib是 Python 最著名的2D绘图库,提供了丰富的数据绘图工具,主要用于绘制一些统计图形.Matplotlib可用于Python脚本,Python和IPython shell,Ju ...

  4. 【Python】Pandas 表格样式设置指南,看这一篇就够了!

    Pandas 表格样式设置指南 来源:Python数据之道 (ID:PyDataLab) 作者:阳哥 最近这些年,Python在数据分析以及人工智能领域是越来越火. 这离不开pandas.numpy. ...

  5. Python中的字典该怎么用,看这一篇就够了(结尾有惊喜)

    目录 1.基本概念 2.常用操作 (1)使用字典 1.基本形式 2.访问字典中的值 3.添加(或创建)键值对 4.修改字典中的值 5.删除键值对 (2)遍历字典 1.遍历字典中所有的键值对 2.遍历字 ...

  6. Qt程序打包成安装包exe

    本章介绍把Qt开发的程序打包成安装包的方法,程序打包成install.exe,可双击安装,有默认安装路径,也可以选择安装目录,自动生成桌面快捷方式和开始菜单选项,可以在操作系统–>设置–> ...

  7. 【Java】Java GUI制作Windows桌面程序,利用windowbuilder生成界面,使用exe4j打包成可执行文件,使用Inno Setup打包成安装包,超级详细教程

    目录 1.GUI插件 1.1 下载GUI绘制插件 1.2 eclipse中配置windowbuilder插件 2.绘制GUI界面 2.1 建立一个GUI的项目 3.配置Maven项目 3.1新建一个M ...

  8. 把java项目打包成安装包

    把Java的项目环境和可执行的EXE文件打包成安装包 把java项目打包成可执行的exe文件请看我这边文章:CSDN 1.需要准备3个应用 7z用于把项目目录打包成* .7z格式的压缩文件 7zsfx ...

  9. win7平台下QT软件的打包与发布(部署与安装) 打包成安装包样式

    软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...

最新文章

  1. HTML5有哪些新特性、移除了哪些元素?
  2. 《预训练周刊》第22期:Fastformer:加法注意力就是你所需要的、用于蛋白建模的大规模预训练语言模型...
  3. 4星|《高手》:会讲故事的科学家的经管社科书读书笔记
  4. Linux下如何释放内存
  5. 做iOS开发的这2年:30而立投身iOS开发嫌晚?
  6. ITK:计算两个图像之间的均方度量值
  7. linux进程cpu资源分配命令nice,renice,taskset
  8. windows之tracert与linux之traceroute用法详解
  9. selenium svg标签定位元素
  10. Oracle(一)创建表空间 用户以及用户授权
  11. 计算机网络基础系列(三)网络应用
  12. 统计信号处理知识点总结_统计信号处理-简单看看克拉美罗界
  13. ProGuard:类混淆,类的指定函数保留
  14. Spring底层核心原理解析
  15. 进销存系统软件怎么测试,进销存系统中的报表测试
  16. 圣诞节计算机音乐,圣诞节的背景音乐
  17. 利用Photoshop对图片进行修改(图片英文换汉字,汉字换英文)
  18. win7修复计算机 报错6,Win7系统出现APPCRASH错误怎么解决
  19. 成人, 像婴儿那样心无旁骛地学习
  20. 国家对应下拉列表 相应的 js特效

热门文章

  1. 南方雨季来袭,物联网助力水位监测防止洪涝灾害
  2. 香叶是什么,怎么用?
  3. 处理器与大力神杯,夺冠或许并不需要11人
  4. LeetCode hot-100 简单and中等难度,91-100.
  5. 雨听 | 英语学习笔记(十七)~作文范文:大学生的书单
  6. 正负数在计算机中的表示(原码反码补码)及位运算
  7. C语言调用jni中JNIEnv指针使用和理解
  8. 谷歌浏览器打开后是360导航界面解决办法
  9. 现代办公的新选择,讯飞智能录音笔SR302 Pro
  10. kodi remote android,使用Android和iOS在Win10系统中设置Kodi Remote方法