pyinstaller 打包的exe总是太大而且打包好的exe运行起来速度超级慢。
那是因为,你的默认环境里装了很多你不需要的包。
在你当前的环境下,pyinstaller会把你安装的所有库都统一打包进去,造成打包好的exe很大,运行期来很慢。
解决办法:
要用纯净的python来打包即可避免加入不必要的包,那么如何快速地建立纯净的python环境呢?

当然不用重装python,只需要通过pipenv建立虚拟环境即可。在虚拟环境下打包,最终的exe文件会非常小。

建立一个python的虚拟环境
python的虚拟环境类似于虚拟机,能够创建一个独立的python运行环境,
虚拟环境中的安装的第三方依赖包和全局环境中的包相互独立。
虚拟环境的优点:

  1. 不同的虚拟环境相互独立,不会影响到其他应用。
  2. 防止出现包管理混乱和版本冲突。
  3. 不会影响全局的python环境。
    环境准备:
  4. python 3.7.9 (python3.3以上自带venv模块)
  5. Windows 10
    新建一个文件夹用于创建虚拟环境,这里在D盘根目录上新建了一个 PythonVirtualEnv文件夹

    打开cmd,切换路径到 PythonVirtualEnv 文件夹中,

python打包很大 python打包太大问题_python打包很大


接着创建虚拟环境,命令如下:

python打包很大 python打包太大问题_virtualenv_02


现在可以查看文件夹Env中出现了一个名为test_env的文件夹,其中包含了python可执行文件,以及pip库的一份副本,这样就能安装其他包了。

python打包很大 python打包太大问题_python_03


python打包很大 python打包太大问题_虚拟环境_04

目前已成功创建虚拟环境,接下来需要激活虚拟环境,命令如下:

进入到test_env\Scripts文件夹

python打包很大 python打包太大问题_python打包很大_05


python打包很大 python打包太大问题_python_06


输入activate

python打包很大 python打包太大问题_虚拟环境_07


目前已进入python虚拟环境:

python打包很大 python打包太大问题_包管理_08


输入pip list看一下,这是一个干净的环境。要退出该环境输入exit即可。

重新进入该环境,只需要进入D:\PythonVirtualEnv\test_env\Scripts执行activate命令即可。

python打包很大 python打包太大问题_python打包很大_09


安装你的python脚本所必需的库。

我需要三个库,moviepy numpy wave

还有一个pyinstaller用于打包。

python打包很大 python打包太大问题_python打包很大_10


python打包很大 python打包太大问题_包管理_11

python打包很大 python打包太大问题_python_12


然后把你的py脚本放在该虚拟环境下,执行打包命令即可。

python打包很大 python打包太大问题_包管理_13


python打包很大 python打包太大问题_虚拟环境_14

这是打包后的结果:

python打包很大 python打包太大问题_virtualenv_15

python打包很大 python打包太大问题_python打包很大_16

生产的exe文件在dist文件夹中。

python打包很大 python打包太大问题_virtualenv_17


python打包很大 python打包太大问题_python打包很大_18


大小是47M,原来打包的要167M那么大。

运行一下,速度变得超级快,完毕