Python打包成exe,文件太大问题解决办法

原因

由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去,导致打包生成的.exe文件体积过大。

解决办法

使用pipenv创建虚拟python环境,在虚拟环境中安装.py文件所用到的库(即py文件中import 的第三方库),然后在pipenv所创建的虚拟环境中使用pip安装打包所用到的pyinstaller。注意:本机安装过pyinstaller的也要重新进入虚拟环境中安装,不然会使用pyinstaller命令打包时,还是会生成大体积的.exe可执行文件。

具体步骤如下:

情况一:初次打包

1、在命令行(CMD)使用pip命令安装pipenv库,用于创建虚拟环境

pip install pipenv

2、新建一个准备当环境的文件夹,并cd进入该文件夹

3、建立虚拟环境

pipenv install

4、进入虚拟环境(以下操作皆为虚拟环境下的操作)

pipenv shell

5、安装.py文件用到的模块

pip install 【.py用到的模块】

6、安装pyinstaller模块,用于打包.py文件

pip install pyinstaller

7、使用pyinstaller打包文件

pyinstaller -Fw E:\\pipenvtest\test.py(.py文件根据实际情况更改)

-F 参数为 产生单个的可执行文件
-w 参数为 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
pyinstaller 更多参数可自行找度娘咨询。

8、结果文件

运行完第7步之后,在目录下回生成‘dist’文件夹,里面存放的就是结果文件。

情况二:再次打包

若再次打包时,情况一中所创建的虚拟环境未曾删除,可跳过情况一中的第1、2、3步,直接进行第四步进入虚拟环境。然后第5步同理保留原先添加过的py模块,即若无新增新的模块,可跳过第5步和第6步,直接进行第7步打包操作。

1、cd进入此前创建虚拟环境的文件夹。

2、进入虚拟环境(以下操作皆为虚拟环境下的操作)

pipenv shell

3、安装.py文件用到的模块()

pip install 【相较上一次打包新增的模块】

4、使用pyinstaller打包文件

	pyinstaller -Fw E:\\pipenvtest\test.py(.py文件根据实际情况更改)

-F 参数为 产生单个的可执行文件
-w 参数为 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
pyinstaller 更多参数可自行找度娘咨询。

你可能感兴趣的:(Python)