Python 用pyinstaller打包python程序,生成的exe文件过大问题

  • 安装完 pyinstaller,安装Pyinstaller的命令为:pip install pyinstaller
    通过pyinstaller -F dataConvert_v1.0.py命令生成的dataConvert_v1.0.exe文件有200多M大小,而源文件
    dataConvert_v1.0.py实际上只有6K大小。
    网上查找资料是说,因为“Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,导致打包后的.exe文件变得很大。” 因此可以使用 虚拟环境pipenv 来打包。
    pipenv是虚拟的python环境,即,它可以在电脑上某个文件夹下创建一个虚拟的python环境,这个环境和你用Anaconda安装的python是完全独立的,互相不影响。这个新建的虚拟的python环境里边包含的库非常少,你可以在里边安装你的.py源文件里
    需要的第三方库,然后打包成.exe,这时打包的.exe文件中不会被无缘无故添加一些不相关的库,因此会生成大小合适的.exe文件。
  • 使用 Pipenv打包步骤如下:

1.安装 pipenv

 pip install pipenv

2. 设置虚拟python

cd到我们想要作为虚拟环境的文件夹下(尽量不要在C盘,创建时可能会自动复制全局python包),比如我的是:D:\data_dl\pipenv,然后在该目录下执行:
pipenv install --python 3.7
安装成功后会在虚拟环境的文件夹下生成两个文件Pipfile,Pipfile.lock,分别打开将
url = “XXX”
verify_ssl = xxx
xxxx换成
"http://pypi.douban.com/simple/"和
false
切换镜像源,提高步骤五安装速度
在这里插入图片描述

这样就可以在D:\data_dl\pipenv目录下创建一个局部的环境了。这里的3.7可以随意写。
我这里是因为我的python开发环境是3.7版本。

3.环境

 pipenv shell
 如上图。
 这时,我们就进入到了新建的虚拟环境。

4. 查看已有的库(非必要)

  pip list

在这里插入图片描述

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

5.安装自己的.py文件中所需要的第三方库

因为一会需要用pyinstaller生成.exe文件,因此要安装pyinstaller。

我的.py源文件中引用了openpyxl库,因此我需要安装的库如下:
pipenv install pyinstaller
pipenv install openpyxl
如上图和下图:
在这里插入图片描述

此时可以再用pip list查看虚拟环境中的库。
(如果程序使用过多库不想嫌麻烦的话,可以将原来的python包导出,再找到程序需要的包放进一个新的requirements.txt中,
导入导出详见Python requirements 导入导出包)记得把pip install换成pipenv install哦

6.利用pyinstaller 生成.exe文件

把你的.py源文件拷贝到这个目录下面(我的是D:\data_dl\pipenv目录),执行 pyinstaller命令
在这里插入图片描述
在这里插入图片描述

最终生成的.exe文件大小变的比原来小得多

pipenv 使用基本命令

命令名命令
创建pipenvpipenv
启动pipenvpipenv shell(为存在虚拟环境可自动创建)
退出pipenvexit
查找所有安装包pip list
环境内包的依赖展示pipenv graph
查找虚拟环境的路径pipenv --venv
卸载安装包pipenv uninstall

参考:https://www.pianshen.com/article/55691274750/
https://blog.csdn.net/RYOMARYOMA/article/details/106238214

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值