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,文件太大问题解决办法的更多相关文章

  1. python打包成exe,太大了该怎么解决?

    这是一个很长的故事,嫌长的直接看最后的结论 事情经过 上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事.因为除了写Python的,绝大多数人电脑里都没有Python编译器 ...

  2. 【Python打包成exe方法】——已解决导入第三方包无法打包的问题

    ​ 前言 在我们写代码的过程中,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安 ...

  3. py库:把python打包成exe文件(pyinstaller)

    http://blog.csdn.net/be_quiet_endeavor/article/details/73929077 用Pyinstaller把Python3.4程序打包成可执行文件exe ...

  4. Python打包成exe文件很难?一分钟即可学会,并添加图标!

    环境1.python 3.72.pyinstaller下载方式:2.1 python安装(略)2.2 安装pyinstaller打开DOS窗口输入以下命令:pip install pyinstalle ...

  5. 使用pyinstaller将python打包成exe文件

    步骤: 1)win+R 输入cmd打开dos窗口   2)先安装pyinstaller: pip install pyinstaller 3)然后使用cd命令进入项目文件的路径下:   4)再使用命令 ...

  6. python打包成exe文件

    在cmd命令提示符窗口中输入pip install pyinstaller(在python3的环境下,假如不能安装的话,用pip3 install pyinstaller指令) 使用指令pyinsta ...

  7. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  8. 关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题

    关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题 这个问题困扰我好久了,今天终于非常偶然的在http://www.v2ex.com/t/113856#reply1 ...

  9. Python Windows下打包成exe文件

    Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...

随机推荐

  1. Java学习之随堂笔记系列——day01

    学习方法:听.问.敲.悟听:前提:上课要听懂,没有听懂可以及时的问.问:任何的问题都要及时的问.敲:重点内容.多写多练,只有写和练习才能发现新的问题,有问题就问.悟:举一反三.提升自己.今日内容:1. ...

  2. redis的安装与设置开机自启动

    redis 的安装配置: 可以直接去官网下载((https://redis.io/download) 解压文件到指定目录下  tar zxvf redis-5.0.7.tar.gz -C  /opt/ ...

  3. 记一次某网站生产环境CPU忽高忽低故障解决过程

    感谢 感谢[一级码农] 的帮助,之前也读了大佬的好多文章,一直在学习中,也没有实际操作过. 这次的过程也是在大佬的指点下完成的. 现象描述 从周六上午开始,陆续收到服务器CPU高的报警短信,到下午已经 ...

  4. Space Time Pattern Mining Tools(时空模式挖掘工具)

    时空模式挖掘工具 # Process: 局部异常值分析 arcpy.LocalOutlierAnalysis_stpm("", "", 输出要素, " ...

  5. 洛谷4895 独钓寒江雪 (树哈希+dp+组合)

    qwq 首先,如果是没有要求本质不同的话,那么还是比较简单的一个树形dp 我们令\(dp[i][0/1]\)表示是否\(i\)的子树,是否选\(i\)这个点的方案数. 一个比较显然的想法. \(dp[ ...

  6. hdu4479 (数学题)(算术基本定理)

    题目大意 给定一个三元组\((x,y,z)\)的\(gcd\)和\(lcm\),求可能的三元组的数量是多少,其中三元组是的具有顺序的 其中\(gcd\)和\(lcm\)都是32位整数范围之内 由算术基 ...

  7. 生日礼物网页Javascript版本与锚点版本

    <style> #dv1{ width:60px; height:36px; margin:0 auto; background-color:orange; display:none; } ...

  8. 串的模式匹配 BF算法和KMP算法

    设有主串s和子串t,子串t的定位就是要在主串中找到一个与子串t相等的子串.通常把主串s称为目标串,把子串t称为模式串,因此定位也称为模式匹配. 模式匹配成功是指在目标串s中找到一个模式串t: 不成功则 ...

  9. python中对列表的排序

    1.sort()对列表永久性的排序,首字母按照字母表的顺序排列 book=['python','java','c++','web'] book.sort() print(book) 结果如下: 2.向 ...

  10. T-SQL——关于XML类型

    目录 0. 将结果集转化为XML格式 1. 列值拼接为字符串 2. 字符串转换为列值 3. 一些说明 参考 志铭-2021年10月23日 10:43:21 0. 将结果集转化为XML格式 测试数据 I ...