最详细Python打包exe教程,并修改图标,只需30秒

简介: 最详细Python打包exe教程,并修改图标,只需30秒

大家好我是邓哥,之前给大家分享PDF转WORD教程中,

大家比较关注的点都在如何将Python文件打包成可执行的exe文件。

Python PDF文件转Word格式,3秒完美搞定!(附打包)

今天就单独伶出来给大家讲一下:

大家的问题我总结了有以下几个:

1. 为什么要打包?

2. 环境需求?

3. 如何将Python文件打包成exe文件?

4. 如何给exe文件生成自己心仪的图标?

5. 如何减小exe文件的体积?

为什么要打包?

众所周知,Python脚本不能在没有安装Python的机器上运行。

但是呢,我们开发的脚本一般都会用到一些第三方包,可能别人也可能会用到我们的脚本。

如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python环境甚至是一些第三方包,是不是有点小麻烦?

但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。

所以,从看了这个教程以后,这都将成为过去式,打成exe之后,分享即可用。

2.Pyinstaller的安装

打包需要使用的模块是Pyinstaller,所以我们先配置好环境。

因为它不是Python默认有的模块,所以需要我们使用pip进行安装

pip install pyinstaller

如下显示成功安装Pyinstaller

或者如下网站搜索whl文件自行安装

https://www.lfd.uci.edu/~gohlke/pythonlibs/

 

3.如何打包exe文件?

我们就以上次pdf转word的程序为例。首先我们cmd到程序所在位置

建议路径不要有中文!!

执行命令 pyinstall -F pdfToword.py

执行完毕会发现生成了 3 个文件夹

其中 dist 文件夹就有我们已经打包完成的 exe 文件,

可以看到当前的exe文件大小为40.6M。

但是生成的exe文件时默认的图标,我不喜欢哎~

没问题,接下来我们进入到第4个问题,换图标

4. 如何给exe文件生成自己心仪的图标?

首先得有一个喜欢的图标吧,这就跟桌面图标一样,需要使用的图片格式是.ico,我们这里选择的是一个python.jpg的图标

 

所以我们需要先将我们是先找好的.jpg或者.png或者.jpeg等等格式转换为.ico格式方可使用。

方法很简单,点击如下网站直接进行转换

https://www.aconvert.com/cn/icon/jpg-to-ico/

三步搞定!

 

转换结果:

那么如何生成exe文件的时候使用子的的图标呢?一行代码搞定!

pyinstaller -F -w -i 666.ico pdfToword.py

回车之后静等几秒就可以啦!

来看看是不是生成了我们所要的图标,很奈斯~~

接下来给大家讲一下上述所用参数的具体含义

1、pyinstaller (这个是打包exe文件使用的模块)

2、-F (这个是生成exe文件的,F 一定要用大写,不然就会失败,所以必须要)

3、-w (这个的话小写也可以,主要是解决打包后,运行文件会有黑框框闪过,建议是加上)

4、-i (这个是用于替换你的图标,把文件图标替换成你想要的样子,可加可不加)

5、666.ico (这个是你准备好要替换的图标名字+格式,切记用英文,两三个最好,别用单个的字母,有些字母会导致不成功)

6、pdfToword.py (这个是你的代码文件名字,放在最后)

5. 如何减小exe文件的体积?

网上查找资料是说,因为“Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,导致打包后的.exe文件变得很大。”

因此可以使用 虚拟环境pipenv 来打包。使用 Pipenv打包步骤如下:

1.安装 pipenv

pip install pipenv

2. cd到我们想要作为虚拟环境的文件夹下,比如我的是:E:\virtual_python,然后在该目录下执行:

pipenv install --python 3.9

这样就可以在E:\virtual_python目录下创建一个局部的环境了,在pipenv文件夹下会出现Pipfile文件。

   3.进入环境,如下图:

pipenv shell

   4. 使用命令pip list查看已有的库

可以看到虚拟环境里自带的库非常少,非常干净。

 

     

 5.安装自己的.py文件中所需要的第三方库,我们需求如下:

pipenv install pyinstaller
pipenv install pdf2docx

 

6.利用pyinstaller 生成.exe文件

把你的.py源文件拷贝到这个目录下面(我的是E:\virtual_python目录),执行 pyinstaller命令

最终生成的.exe文件大小为6M左右。

最后如果大家想测试Python打包,手头又没有合适的文件,可以在GZ号「GOGO数据」后台回复“打包”即可获得以下文件:

 

相关文章
|
6天前
|
Python
SciPy 教程 之 Scipy 显著性检验 3
本教程介绍Scipy显著性检验,包括其基本概念、原理及应用。显著性检验用于判断样本与总体假设间的差异是否显著,是统计学中的重要工具。Scipy通过`scipy.stats`模块提供了相关功能,支持双边检验等方法。
13 1
|
8天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 插值 2
SciPy插值教程:介绍插值概念及其在数值分析中的应用,特别是在处理数据缺失时的插补和平滑数据集。SciPy的`scipy.interpolate`模块提供了强大的插值功能,如一维插值和样条插值。通过`UnivariateSpline()`函数,可以轻松实现单变量插值,示例代码展示了如何对非线性点进行插值计算。
11 3
|
11天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 4
本教程介绍了SciPy的空间数据处理功能,主要通过scipy.spatial模块实现。内容涵盖空间数据的基本概念、距离矩阵的定义及其在生物信息学中的应用,以及如何计算欧几里得距离。示例代码展示了如何使用SciPy计算两点间的欧几里得距离。
26 5
|
10天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 空间数据 6
本教程介绍了SciPy处理空间数据的方法,包括使用scipy.spatial模块进行点位置判断、最近点计算等内容。还详细讲解了距离矩阵的概念及其应用,如在生物信息学中表示蛋白质结构等。最后,通过实例演示了如何计算两点间的余弦距离。
21 3
|
9天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 7
本教程介绍了SciPy的空间数据处理功能,涵盖如何使用`scipy.spatial`模块进行点的位置判断、最近点计算等操作。还详细解释了距离矩阵的概念及其在生物信息学中的应用,以及汉明距离的定义和计算方法。示例代码展示了如何计算两个点之间的汉明距离。
17 1
|
7天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 插值 3
本教程介绍了SciPy中的插值方法,包括什么是插值及其在数据处理和机器学习中的应用。通过 `scipy.interpolate` 模块,特别是 `Rbf()` 函数,展示了如何实现径向基函数插值,以平滑数据集中的离散点。示例代码演示了如何使用 `Rbf()` 函数进行插值计算。
14 0
|
7天前
|
Python
SciPy 教程 之 Scipy 显著性检验 1
本教程介绍Scipy显著性检验,包括统计假设、零假设和备择假设等概念,以及如何使用scipy.stats模块进行显著性检验,以判断样本与总体假设间是否存在显著差异。
12 0
|
1月前
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
234 13
|
1月前
|
监控 数据可视化 搜索推荐
【Python篇】matplotlib超详细教程-由入门到精通(下篇)2
【Python篇】matplotlib超详细教程-由入门到精通(下篇)
33 8
|
1月前
|
数据可视化 API 数据处理
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
88 5