使用pyinstaller发布exe后,很多时候exe非常庞大,动辄就上百M,原因主要是因为python环境安装了过多的包,实际上发布只需要对应py文件依赖的即可,此时可以采用pipenv构建虚拟python环境,仅安装自己所需要的包即可。
以下内容为摘抄https://www.cnblogs.com/chenbocheng/p/10839322.html中的部分内容:
关键点就一个:要在虚拟环境里安装pyinstaller
如果你没有在虚拟环境中安装pyinstaller,你同样可以使用pyinstaller命令,但是调用的是你系统原本的那个python编译器,内含很多关联库,导致即使在虚拟环境中,你打包的exe文件仍然非常大。
另外一点要注意的是:要在虚拟环境里安装好你py文件中调用的库,不然打包出来也没法正常运行。
最后再复习一下正确流程 (前提是安装好pipenv):
# 确认当前目录是python项目目录
#建立虚拟环境(新建后的虚拟环境名称就是项目目录名称)
pipenv install (这个步骤如果卡着不动,可以跳过,直接进入第二步)
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
pipenv shell
#安装模块
pip install requests pyquery (这里的包替换成自己py文件import的包名称空格分割)
#打包的模块也要安装
pip install pyinstaller
#开始打包
pyinstaller -Fw E:\test\url_crawler.py