pyinstaller模块打包的exe内存太大解决方案(pipenv)
1.原因2.解决方案
2.1 安装pipenv2.2 新建虚拟环境2.3 在虚拟环境下安装Python2.4 激活虚拟环境2.5 安装需要的库2.6 重新运行 pyinstaller 3.关于pipenv创建的环境路径
3.1 pipenv创建的虚拟环境路径3.2 卸载虚拟环境的多余库3.3 pipenv指令解释
编写的python项目,如何在没有python环境的电脑中运行?
打包成exe可执行程序即可
链接: 打包Python文件的常用方法
但有些项目在打包exe程序后的文件大小会非常大,大到令人怀疑人生…
,
color{FireBrick}{}
exe文件内存大可能是因为anaconda环境打包了很多不必要的环境,很多的不必要的库也被打包进去了。
⚠️PS:能够用"from 包 import 模块"的方法就最好用这种方法,能够减少很多不必要的内容。
用pipenv创建比较干净的环境。在干净的环境下,用pip安装程序所需要的第三方库,再打包程序。
2.1 安装pipenv与安装其他python库一样,在cmd环境下安装:
pip install pipenv2.2 新建虚拟环境
安装完成后,随便找一个盘符,在这个盘符的根目录(最好是根目录)新建一个文件夹,作为虚拟环境把需要打包的.py文件及其所需的资源文件都复制过来。
2.3 在虚拟环境下安装Python在虚拟环境下安装Python:
pipenv --python 3.9 # 或 pipenv install --python 3.92.4 激活虚拟环境
pipenv shell
打开pipenv的命令行
2.5 安装需要的库根据要打包的程序中导入的库,在pipenv环境下重新安装,例如:
pipenv install pyinstaller pipenv install removebg
pip list命令可查看该虚拟环境下载的库
2.6 重新运行 pyinstallerpyinstaller -F -w -i icon.ico python.py
⭐️icon.ico 是图标文件
⭐️python.py 是打包的主程序
链接1: 在线icon制作链接1
链接2: 在线icon制作链接2
所有用pipenv创建的环境均能在下列路径找到:
C:Users玖玖.virtualenvs3.2 卸载虚拟环境的多余库
pip uninstall 库名3.3 pipenv指令解释
1、pip install pipenv --安装 pipenv 库
2、pipenv --python 3.9 --创建对应python版本的虚环境:
3、pipenv install --创建虚环境
4、pipenv shell --进入虚环境
5、pip install xxx --在虚环境中 pip 安装依赖库
6、pip install pyinstaller --在虚环境中安装 pyinstaller 依赖库
7、pyinstaller -F filename.py --进行首次打包,这里是打包成一个exe(参数可另外添加)
PS:
☑️打包完成后,进入新建虚拟环境文件夹下的 dist 文件夹,运行里面的
f
i
l
e
n
a
m
e
.
e
x
e
color{blue}{filename.exe}
filename.exe,看是否正常运行、各功能是否正常。
✅如果 filename.exe 无法正常运行,看控制台的报错信息,一般都是找不到依赖库导致的,因此,修改文件夹A下的 main.spec 文件,在 hiddenimports 里面加上报错的依赖库名,这是一个列表,因此以str的方式加,然后再次 pyinstaller 打包:pyinstaller main.spec。



