解决Python打包成exe文件大启动慢的问题

  • 1. 问题描述
  • 2. 产生原因
  • 2. 解决方法
    • 2.1 建立虚拟环境
    • 2.2 安装所需库
    • 2.3 在环境中打包
    • 2.4 附pyinstaller参数表

1. 问题描述

在日常工作中经常使用Python的小伙伴会经常需要把py文件打包成exe文件给别人使用,这样的好处就是别人不需要安装所需要的python环境和所依赖的库即可运行你的程序。我们通常使用pyinstaller工具来打包成exe可执行文件:

pyinstaller -F yourFile.py

但是这样打包成的exe非常大,动辄几百M,然后打开之后启动非常慢,30s以上才有反应。这种肯定不利于日常使用,那么造成这个现象的原因是什么?有没有什么方法可以解决这个问题呢?

2. 产生原因

造成这个问题的原因在于pyinstaller在打包py文件的时候,并不会智能地把你文件中需要的库打包进去,而是偷懒把当前环境中所有已经安装的库都给你打包进去了,所以我们最后得到的exe文件才会很大,从而导致启动很慢。

2. 解决方法

解决方法很简答,我们需要在一个新的虚拟环境中打包就好了。以anaconda为例,它需要三个步骤:1.建立虚拟环境,2.安装py文件所依赖的库,3.利用pyinstaller打包。

2.1 建立虚拟环境

使用的anaconda建立虚拟环境的指令:

conda create -n yourEnvName python=3.6.5

其中yourEnvName 是虚拟环境的名字,python的版本根据号自己的序号来选择。
建立完环境之后进行激活即可:

activate yourEnvName

2.2 安装所需库

进入到我们建立的环境之后,安装我们所需要的库即可,当然,pyinstaller也是需要安装的:

pip install pyinstaller

2.3 在环境中打包

安装完我们工程所需要的库之后,就可以在虚拟环境中打包了:

pyinstaller -F yourPyFile.py

打包之后我们发现,生成的exe文件的大小变为了几十M(虽然也很大),启动时间缩短为了小于10s(虽然也不短),但比之前的结果好多了。

2.4 附pyinstaller参数表

对于pyinstaller工具,其选项参数列表如下所示:

选项 描述
-F 生成结果是一个exe程序,所有的第三方依赖库和其他资源都被打包成进该exe程序中
-D 生成结果是一个包含exe程序的目录,所有第三方依赖库和其他资源和exe程序位于同一目录下
-i 为生成的程序指定一个icon图标
-c 显示命令行窗口
-w 不显示命令行窗口
-n 指定生成的exe和spec文件名
-distpath 指定打包后的程序存放目录,默认存放在当前目录下的dist目录
-workpath 为输出的所有临时文件指定存放目录
-h 显示帮助信息
-v 显示版本号

Tips--解决Python打包成exe文件大启动慢的问题相关推荐

  1. python打包成exe文件大、执行慢_Pyinstaller打包exe太大,运行太慢

    1.背景 通过python使用pyqt编写了一个界面程序,并使用pyinstaller将其打包成exe文件 2.问题 打包的exe文件非常大,有280M,而且更无法忍受的是打开非常非常的慢!!! 3. ...

  2. 解决 Python打包成exe 文件过大问题的一些方法

    前言 之前有做过Python的pyqt桌面应用,当时每次更新打包的时候整个文件下来都需要300~400M,但是一直没有找到合适的方法解决,而是尽量Python少安抓库包,但效果一般,最近找到了解决方法 ...

  3. Python打包成exe文件_详细操作

    Python打包成exe文件 前言 一.安装pyinstaller 1.1 安装pyinstaller,使用安装命令: 1.2 如果遇到需要更新版本请输入: 1.3 检查是否正确安装 1.4 稍等,水 ...

  4. 把python语言翻译出来_Python语言实现翻译小工具(Python打包成exe文件)

    本文主要向大家介绍了Python语言实现翻译小工具(Python打包成exe文件),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.环境 windows10 python3.5 ...

  5. python打包成.exe文件时出现“系统找不到指定路径”

    python打包成.exe文件时出现"系统找不到指定路径" 我在一开始写工程时就想到最后打包的时候可能会出现文件位置会发生移动,所以并没有使用绝对路径,而都是以相对路径写的程序. ...

  6. python如何将图片打包进exe里_史上最详细的Python打包成exe文件教程

    打包成exe文件可以让python代码在没有python环境的条件下,依然能够运行,实在是码农们写追女朋友表白.情人节浪漫的必需品! 1.使用豆瓣镜像源下载: pyinstaller 有需要了解如何使 ...

  7. 将python打包成exe文件(携带附属文件)

    前言 用Pyinstaller进行打包exe时,有时候得附带上一些资源,提高程序的实用性和人性化. 在网上也有很多把依赖文件打包进exe的方法,不过都只能打包一些图片或者文本而已. 另一种方法是通过修 ...

  8. python打包成exe文件提示PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\wj\\AppData\\Local\\Progr

    用python写了个脚本给业务部门用,考虑业务部分使用环境问题给打包成exe文件.在打包时提示PermissionError: [Errno 13] Permission denied: 'C:\\U ...

  9. Python打包成.exe文件详细实例

    目录标题 安装pyinstaller 打包文件成exe程序 (下面举个栗子) 已知python环境配置后 安装pyinstaller pip install pyinstaller 查看是否安装成功 ...

最新文章

  1. Bad owner or permissions on xx/.ssh/config
  2. python使用matplotlib可视化条形图、使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图、side by side)
  3. [daily] 使用diff和patch打补丁
  4. 【计算机网络(微课版)】第2章 物理层 课后习题及答案
  5. matlab设置随机流的种子
  6. ElementUI以及uvie的图标使用和设置---SpringCloud Alibaba_若依微服务框架改造_ElementUI+uniapp_uview---工作笔记015
  7. Shiro【授权过滤器、与ehcache整合、验证码、记住我】
  8. EasyBert,基于Pytorch的Bert应用
  9. python语言中、外部模块先导入、再使用_python引入导入自定义模块和外部文件--转载Sumomo的博客...
  10. python如何对excel排序_Python操作Excel之分组排序
  11. Atitit etl之道 attilax著 1. ETL 1 1.1. (数据仓库技术) 2 1.2. ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性
  12. Javascript高级程序设计(一)
  13. AD18 设定PCB板子大小
  14. MS08067红队攻防班 第5期 开班倒计时1天~
  15. 慢慢来,一切都来得及
  16. kali安装软件源软件
  17. 大学里青年教师待遇真的很低吗?
  18. C4D骨骼动画绑定到像素
  19. 一个沪漂三年IT青年的感悟
  20. 字符串模式匹配--KMP之美

热门文章

  1. pivot position_Pivot轴心点
  2. 华为无线设备WDS配置命令
  3. android 虚拟返回键功能_Android返回键功能的实现方法
  4. ES6转ES5,Traceur使用方式
  5. 22考研西安交大915编程题
  6. DCloud 中 什么是 uniapp、Wap2App、5 + APP?
  7. 谷歌Chrome 100正式版发布:启用全新图标,修复28个安全漏洞
  8. 如何实现图片填满单元格
  9. FZU 2242 Daxia like acute triangle
  10. Seata的一些介绍