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

但是呢,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的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 打包exe

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

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

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

python打包后怎么安装_别再问我怎么Python打包成exe了!相关推荐

  1. 怎么在python提取别的数据了_别再问如何用python提取PDF内容了!

    作者:陈熹 来源:早起Python 大家好,在之前的办公自动化系列文章中我们已经详细介绍了如何使用python批量处理PDF文件,包括合并.拆分.水印.加密等操作. 今天我们再次回到PDF,详细讲解如 ...

  2. python提取pdf内容_别再问如何用Python提取PDF内容了!

    导读 大家好,在之前的办公自动化系列文章中我们已经详细介绍了

  3. python保存图片到指定路径_别再问我Python怎么操作Word了!

    前言 在之前的自动化系列文章中,我们分别讲解过

  4. 安装好了python环境后如何打开_教你如何安装Python环境

    欢迎同学们来到Python编程世界.人生苦短,Python是岸. 01 初见Python Python编程语言是荷兰人Guido van Rossum在1990年代开发出来的. Gudio拥数学和计算 ...

  5. 打包可执行包_想把你写的Python程序发给别人用?打包成exe啊!

    前言 大家好,欢迎来到编程教室! 当你学了一段时间Python,终于写出一个小游戏的时候,是不是很想发给你的小伙伴分享一下你的成果?但是,如果直接将xx.py文件发给别人,别人通常是不能直接运行的,他 ...

  6. python自带编译器如何生成exe_别再问我怎么Python打包成exe了!

    也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇.再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈. 但是呢,我们开发的脚 ...

  7. react打包后图片丢失_手搭一个 React,Typescript,Koa,GraphQL 环境

    本文系原创,转载请附带作者信息:yhlben 项目地址:https://github.com/yhlben/cdfang-spider 前言 在实际的开发过程中,从零开始初始化一个项目往往很麻烦,所以 ...

  8. react打包后图片丢失_使用 webpack 搭建 React 项目

    简评:相信很多开发者在入门 react 的时候都是使用 create-react-app 或 react-slingshot 这些脚手架来快速创建应用,当有特殊需求,需要修改 eject 出来的 we ...

  9. cmd python封装成exe_别再问我怎么Python打包成exe了!

    也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇(如果有).再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈. 但是呢,我 ...

  10. react打包后图片丢失_手写Webpack从0编译Vue/React项目

    当前前端开发,90%的项目都是Vue和React,然而70%的同学都基于脚手架创建项目,因为脚手架会包含项目基本框架.webpack配置.scss/sass/less解析.babel配置.DevSer ...

最新文章

  1. 分享一个MD5加密的工具类
  2. jQuery浏览器版本判断
  3. 高斯背景建模 matlab,高斯背景建模整理 – 要饭的
  4. JavaScript对象的深入理解 (一)
  5. Java编程中忽略这些细节,Bug肯定找上你
  6. Java怎么不启动_dubbo不启动了怎么回事???一模一样的另一个没问题
  7. python:filter用法
  8. class文件-常量池类型汇总
  9. 博客园9月份第3周51Aspx源码发布详情
  10. HttpClient下载图片实例
  11. 如何自制条形码扫描器
  12. WPS文档批量转换成PDF
  13. 侨鑫集团:不一样的CIO,不一样的数字化转型之路
  14. 社科院与杜兰大学金融管理硕士项目——与优秀的人同行,做更好的自己!
  15. 利用freemarker导出Excel(格式自定义)
  16. pcl计算点云法向量
  17. Postman上传文件测试
  18. 工业物联网 凌顶发布注塑机通讯协议Euromap 63 的 OPCUA 驱动组件
  19. 计算时针分针秒针夹角的方法
  20. 【干货】2022抖音种草ATOM方法论:品牌社交效果增长模型.pdf(附下载链接)

热门文章

  1. [Project Euler] 来做欧拉项目练习题吧: 题目005
  2. step1: python scrapy安装
  3. Hello Word!
  4. Eclipse开发工具组合键介绍
  5. 使用java创建kafka的生产者和消费者
  6. cellmap 基站查询 for android
  7. 071120 sunny
  8. 【SIGIR2020】信息检索对话中混合主动性和协同性的分析
  9. COLING 2020 | 一种从科学文献中提取关键词的基于自蒸馏的联合学习方法
  10. 【收藏】超全整理知识图谱相关学习资料,提供系统化的知识图谱学习路径