Pyinstaller打包exe太大,运行太慢

Pyinstaller打包exe太大,运行太慢1.背景通过python使用pyqt编写了一个界面程序,并使用pyinstaller将其打包成exe文件2.问题打包的exe文件非常大,有280M,而且更无法忍受的是打开非常非常的慢!!!3.解决办法(1)将import改为from…import…尝试之后,并么有什么用,依然是非常非常的大,非常非常的慢。(2)anaconda的问题看网上有人说是anacon…

大家好,又见面了,我是你们的朋友全栈君。

1.背景

通过python使用pyqt编写了一个界面程序,并使用pyinstaller将其打包成exe文件

2.问题

打包的exe文件非常大,有280M,而且更无法忍受的是打开非常非常的慢!!!

3.解决办法

(1)将import改为from…import…

尝试之后,并么有什么用,依然是非常非常的大,非常非常的慢。

(2)anaconda的问题(亲测确实可以280M缩小到72M,速度也从几分钟到十几秒)

看网上有人说是anaconda的问题,应该安装纯净的python,不装anaconda,因为anaconda包太多,在打包的时候,你的exe会集成很多不必要的包,从而导致exe文件太大。因为集成了很多不必要的包,而exe在打开时会先加载依赖,从而导致文件打开慢!

因此,用虚拟机装了win7,在win7上安装纯净的python,网址:https://www.python.org/,如果下载太慢可以复制链接,在迅雷中下载python.exe。

将文件拷贝到win7上,用python执行,会看到缺少各种包,再根据提示pip安装各种包即可,直到在win7上成功运行你的项目。pip国内镜像安装包:

pip install 包名 -i  https://pypi.tuna.tsinghua.edu.cn/simple/ 

之后是重头戏!!!

pip 安装pyinstaller,然后在你的项目下:

pyinstaller -F XXX.py

成功之后在dist文件下会有XXX.exe文件

可以发现exe文件大大减小,而且打开也快多了!!!(280M缩小到72M!!!)

如果不想显示win的控制台,可以执行:

pyinstaller -F -w XXX.py

建议刚开始还是显示控制台,因为这样可以在控制台看到错误信息的提示!!!,对于一闪就退的问题,可以使用手机录像功能,记录错误,方便查看!!!

4.附录

(1)win7无法安装python

Pyinstaller打包exe太大,运行太慢

这是因为win7版本过老,只需在windows update更新一下即可!

(2)scipy打包出错

pyinstaller 在打包时,生成的exe文件无法打开,查看了一下错误,是因为scipy的原因。

原来的scipy的版本是1.3.3,我觉得是版本太高了,就卸载了,重新安装scipy==1.0.0

成功打包!!!

(3)无访问权限

我原来把python安装在了C盘的Program Files里面,结果发现,经常出现无访问权限的问题,因此又卸载重新安装在了其他位置,没有问题了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151676.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redhat配置yum源服务器_redhat7网络yum源配置

    redhat配置yum源服务器_redhat7网络yum源配置配置yum源redhat默认自带的yum源需要注册才能更新,可以更换成Centos的yum源.文章目录配置yum源前言一、yum源的工作原理?二、yum配置步骤1.查看系统已经安装的yum2.删除自带的yum包3.下载相关的安装包4.安装包5.下载配置文件6.更新前言Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动

    2022年8月12日
    1
  • linux修改文件权限为root_centos修改文件权限

    linux修改文件权限为root_centos修改文件权限将文件权限改为777的命令为chmod777文件名777说明:你可以在linux终端先输入ll,可以看到如:-rwx-r–r–(一共10个参数)第一个跟参数跟chmod无关,先不管.2-4参数:属于user5-7参数:属于group8-10参数:属于others接下来就简单了:r==>可读w==>可写x==>可执行…

    2022年9月25日
    0
  • Go 1 – 概览/安装

    Go 1 – 概览/安装安装包下载地址一安装Golang的SDK二配置环境变量三使用命令行调试参考文章地址网上有很多安装方法,比如通过homebrew来安装。这里是直接下载的安装包。安装包下载地址地址:https://golang.org/dl/一、安装Golang的SDK双击.tar文件,就会自动解压成名字为“go”的文件夹;拖拽到你的用户名下,记住路径;我的路径为:/Users/MelissaShu

    2022年10月11日
    1
  • bindingnavigator如何与datagridview绑定

    bindingnavigator如何与datagridview绑定2019独角兽企业重金招聘Python工程师标准>>>…

    2022年7月12日
    11
  • 2020//7/6学习记录

    2020//7/6学习记录1.微信小程序圆角样式border-radius:20rpx;2.微信小程序横向布局display: flex;/*row 横向 column 列表 */flex-direction: row;/* 左右居中 */justify-content: center;/* 上下居中 */align-items: center;3.文字左右布局父元素用到:justify-content:space-between;子元素:<viewstyle…

    2022年8月18日
    4
  • 八皇后算法解析[通俗易懂]

    八皇后算法解析[通俗易懂]今天研究力扣的一道题死活写不出来对应的算法,没办法自己算法基础太差。于是看了下答案,发现使用什么回溯算法,菜鸟表示平时开发期间写的最复杂的程序就是写了两层for循环,已经很牛逼了有木有?这个回溯算法什么鬼?于是乎百度了下,算是了解了回溯算法是什么玩意儿。这里分析一波八皇后算法来加深一下理解。https://blog.csdn.net/microopithecus/article/details/…

    2022年4月20日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号