大家好我是邓哥,之前给大家分享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数据」后台回复“打包”即可获得以下文件: