Python打包成exe,文件太大问题解决办法
原因
由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去,导致打包生成的.exe文件体积过大。
解决办法
使用pipenv创建虚拟python环境,在虚拟环境中安装.py文件所用到的库(即py文件中import的第三方库),然后在pipenv所创建的虚拟环境中使用pip安装打包所用到的pyinstaller。注意:本机安装过pyinstaller的也要重新进入虚拟环境中安装,不然会使用pyinstaller命令打包时,还是会生成大体积的.exe可执行文件。
具体步骤
情况一:初次打包
- 在命令行(CMD)使用
pip命令安装pipenv库,用于创建虚拟环境
pip install pipenv
- 新建一个准备当环境的文件夹,并cd进入该文件夹
- 建立虚拟环境
pipenv install
- 进入虚拟环境(以下操作皆为虚拟环境下的操作)
pipenv shell
- 安装.py文件用到的模块
pip install 【.py用到的模块】
- 安装pyinstaller模块,用于打包.py文件
pip install pyinstaller
- 使用pyinstaller打包文件
pyinstaller -F E:\\pipenvtest\\test.py(.py文件根据实际情况更改)
- 结果文件
运行完第7步之后,在目录下回生成‘dist’文件夹,里面存放的就是结果文件。
情况二:再次打包
若再次打包时,情况一中所创建的虚拟环境未曾删除,可跳过情况一中的第1、2、3步,直接进行第四步进入虚拟环境。然后第5步同理保留原先添加过的py模块,即若无新增新的模块,可跳过第5步和第6步,直接进行第7步打包操作。
- cd进入此前创建虚拟环境的文件夹。
- 进入虚拟环境(以下操作皆为虚拟环境下的操作)
pipenv shell
- 安装.py文件用到的模块
pip install 【相较上一次打包新增的模块】
- 使用pyinstaller打包文件
pyinstaller -F E:\\pipenvtest\\test.py(.py文件根据实际情况更改)
Python打包成exe,文件太大问题解决办法的更多相关文章
- python打包成exe,太大了该怎么解决?
这是一个很长的故事,嫌长的直接看最后的结论 事情经过 上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事.因为除了写Python的,绝大多数人电脑里都没有Python编译器 ...
- 【Python打包成exe方法】——已解决导入第三方包无法打包的问题
前言 在我们写代码的过程中,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安 ...
- py库:把python打包成exe文件(pyinstaller)
http://blog.csdn.net/be_quiet_endeavor/article/details/73929077 用Pyinstaller把Python3.4程序打包成可执行文件exe ...
- Python打包成exe文件很难?一分钟即可学会,并添加图标!
环境1.python 3.72.pyinstaller下载方式:2.1 python安装(略)2.2 安装pyinstaller打开DOS窗口输入以下命令:pip install pyinstalle ...
- 使用pyinstaller将python打包成exe文件
步骤: 1)win+R 输入cmd打开dos窗口 2)先安装pyinstaller: pip install pyinstaller 3)然后使用cd命令进入项目文件的路径下: 4)再使用命令 ...
- python打包成exe文件
在cmd命令提示符窗口中输入pip install pyinstaller(在python3的环境下,假如不能安装的话,用pip3 install pyinstaller指令) 使用指令pyinsta ...
- 将 Python 程序打包成 .exe 文件
1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...
- 关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题
关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题 这个问题困扰我好久了,今天终于非常偶然的在http://www.v2ex.com/t/113856#reply1 ...
- Python Windows下打包成exe文件
Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...
随机推荐
- php/awk 处理csv 使用 SplFileObject 操作文件
取第5列,去掉开头结尾的引号,匹配以http://, https://, ftp://开头的行 * awk awk -F"," 'str=gsub(/(^\"*)|(\& ...
- Vue 初学
Vue 的基本代码: 概念简介:Vue.js 是目前最火的一个前端框架,只关注视图层,主要负责MVC中的V这一层 MVC 是后端的分层开发概念: MVVM是前端视图层的概念, ...
- Spring Cloud Gateway 没有链路信息,我 TM 人傻了(下)
本系列是 我TM人傻了 系列第五期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 获取异 ...
- 整理常用的 vim 命令
vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学 ...
- Android 开发进程 0.35 升级编译版本Android12
Android12升级 工作需要升级到编译版本31 在这里记录一下遇到的问题. 错误:Manifest merger failedManifest merger failed 这个问题通常搜到的答案是 ...
- 如何通过云效Flow完成自动化构建—构建集群
如何通过云效Flow完成自动化构建-构建集群,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...
- keepalived-master-slave
Master配置 global_defs { notification_email { root@localhost } notification_email_from keeplived@local ...
- 无法解析的外部符号之_cvLoadImage,_cvCreateMat,_cvReleaseImage之类
一个错误可能是:附加依赖项少添加了库函数: 还有一个可能是:配置设置错误了,比如该是64位,却设置成win32了.改过来就好了. 要注意opencv的使用中 在Debug.Release模式以及x64 ...
- Java初步学习——2021.09.23每日报告,第三周周四
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 学习数组,编写了一个随机选牌的代码.自己最开始一直想只设置一个字符串数组,利用随机数来输出,但那样对字符串赋值会比较麻烦.可 ...
- Golang通脉之方法
方法和接收者 Go语言中的方法(Method)是一种作用于特定类型变量的函数.这种特定类型变量叫做接收者(Receiver).接收者的概念就类似于其他语言中的this或者 self. Go 语言中同时 ...