使用PyInstaller打包Python程序时,如何避免生成的可执行文件(exe)过大的解决方法

使用PyInstaller打包出来的exe等可执行文件过大(比如我的一个小项目,打包之后超过了600M ),大概率是使用的python解释器(Python Interpreter)中安装了许多当前项目没有使用的库。

解决方法:

打包时,最好为这个项目创建一个独立的虚拟解释器环境,如下图:
在这里插入图片描述
指定了新的虚拟环境之后,你需要在新环境中安装你所需要的依赖库。在py文件中选择安装即可,此时依赖库会安装到新的环境中。

切换环境

在终端命令行里,执行以下命令,激活虚拟环境(“venv”是你的虚拟环境名称):
Windows

venv\Scripts\activate

Linux

source .venv/bin/activate

安装 pyinstaller

在当前虚拟环境下,安装pyinstaller

pip install pyinstaller

打包

打包为单个可执行文件:

pyinstaller --onefile main.py  # main.py为程序的入口文件

常用参数:

  -D, --onedir          Create a one-folder bundle containing an executable (default)  
  						创建一个包含可执行文件的单文件夹捆绑包(默认)
  						
  -F, --onefile         Create a one-file bundled executable.
  						创建单个的可执行文件(只有一个文件)

出现以下信息表示打包成功(completed successfully),可执行文件在项目的dist文件夹中:

......
23143 INFO: checking EXE
23143 INFO: Building EXE because EXE-00.toc is non existent
23143 INFO: Building EXE from EXE-00.toc
23143 INFO: Copying bootloader EXE to /home/blc/PycharmProjects/my_project/dist/main
23143 INFO: Appending PKG archive to custom ELF section in EXE
23254 INFO: Building EXE from EXE-00.toc completed successfully.
23267 INFO: Build complete! The results are available in: /home/blc/PycharmProjects/my_project/dist
(.venv) user@blc-HP-Pro-Tower-288-G9-PCI-Desktop-PC:~/PycharmProjects/my_project$ 

我的项目打包后,直接从600M变为了56M,缩小为原来的十分之一了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ta叫我小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值