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

End

python打包成deepin程序_如何利用Python实现打包exe?相关推荐

  1. python怎么开发安卓程序_怎样用python开发安卓app-到底如何使用Python开发Android程序.txt...

    Python是一种动态语言,是比较简单的. Android不直接支持使用Python开发的应用程序,它需要使用它的中间件或数据库.它提供了在Android平台上的Python语言的支持; Python ...

  2. mac python3打包成窗体程序_使用pyinstaller将python程序打包成exe/苹果软件的方法与异常解决 - pytorch中文网...

    一.安装pyinstaller 通过清华镜像安装比较快 # 二者选其一执行,第二条快 pip3 installer pyinstaller # 清华镜像安装 # pip3 install -i htt ...

  3. python 打卡程序_如何利用Python实现自动打卡签到

    需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是 ...

  4. python开发app的软件_如何利用python开发手机app

    python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用python开发的app应当是作为编码练习,加上目前这方面的模块还不是特别成熟,bug比较多. 准备工作 利用python开发a ...

  5. python开发12306抢票_如何利用 Python 实现12306抢票?

    生苦短,我用 python. 作为一种"胶水语言",python 为无数码农带来了便利:同时,越来越多的 python 工程师被标榜为"高薪党":"全 ...

  6. python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?

    第一步:爬取数据 通过 selenium + Firefox 的无头模式将需要的数据爬取出来,代码实现不在赘述,详细步骤可查看我的上一篇图文(如何利用Python爬取网易新闻), 由于 seleniu ...

  7. python数据分析方法和命令_《利用Python进行数据分析》 —— (1)

    <利用Python进行数据分析> -- (1) Python的学习需要自主探索各种类型,函数和方法的文档. 2.1 Python解释器 在IPython(Jupyter Qtconsole ...

  8. 用python画动态皮卡丘_如何利用python绘制可爱皮卡丘?

    这个非常简单,主要用到turtle这个模块,一个绘图函数库,可以快速绘制平面二维图形,下面我简单介绍一下实现过程,主要分为鼻子.眼睛.脸.嘴巴这4个部分,实验环境win10+python3.6+pyc ...

  9. python画车辆轨迹图_如何利用 Python 绘制酷炫的 车辆轨迹 — 速度时空图?三维数据用二维图像呈现...

    说明:本文系交通攻城狮原创文章,如需转载请私信联系,侵权必究. 2020,第 30 期,编程笔记 建议直接阅读精编版:如何利用 Python 绘制酷炫的 车辆轨迹 - 速度时空图?三维数据用二维图像呈 ...

最新文章

  1. 爬虫之xpath语法-节点修饰语法
  2. 更换紧凑型荧光灯管过程
  3. 精准控制PWM脉冲的频率和数量
  4. [导入]VB实现SQL Server数据库备份/恢复
  5. brtools备份与恢复
  6. 从客户端中检测到有潜在危险的request.form值
  7. 一个时代的终结:为什么是时候放弃ITOM四大巨头了?这对IT领导者来说意味着什么?...
  8. 【python自动化办公02】word操作-word转pdf
  9. centos 7.x systemd service 配置方法整理
  10. 在Saas发展的黄金时代里带你理解SaaS设计
  11. linux python怎么用_【Python for Linux怎么用】Python for Linux好不好_使用技巧-ZOL软件百科...
  12. 也谈谈Javascript中的几个怪异特性(上)
  13. 安装erlang没有bin文件夹_RabbitMQ安装教程
  14. google Inception v1 - v4 papers 发展历程
  15. java手机qq表白代码_史上最感动表白QQ留言代码
  16. 20 分钟教你量化自己的资产
  17. 蒙特梭利三段卡---种子结构三段卡
  18. 【转载】TextView源码解析
  19. Java:pdf转word
  20. nvidia dch 驱动 与windows 不兼容_Adobe 2020系统兼容性报告,不支持视频驱动程序!完美解决方案...

热门文章

  1. python面向对象程序设计的三个特征_哪些是面向对象程序设计的三大特征
  2. ubuntu18 虚拟机卡死,虚拟机独占键盘
  3. vtd和vt的区别_英语vi和vt的区别和用法
  4. 方舟服务器内存优化,方舟生存进化188.1版更新内容 彻底解决服务端内存溢出问题...
  5. 猎豹傅盛 :移动互联网的大航海时代来临
  6. 数据可视化不再难!这有一份国寿财险的实践经验
  7. 如何获得spring配置文件头部配置(applicationContext.xml)
  8. 快递查询工具,一键查看所有快递的发出物流信息、最后更新物流
  9. Plasmic Studio入门教程
  10. 收货地址,模糊详细地址,自动转换成省市区街道,并保存到Excel工具