如何在pyinstaller中减小exe文件大小 [英] How to reduce exe file size in pyinstaller

查看:0
本文介绍了如何在pyinstaller中减小exe文件大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我的python脚本开发.exe文件,但它的大小超过715MB,即使我使用虚拟环境进行开发,但仍然很大。

我在脚本中使用的这些库:

import numpy as np 
import pandas as pd
import os
import matplotlib.pyplot as plt
import configparser

开发.exe的步骤

1)pip install virtualenv  #install virtualenv

2)virtualenv name_env  #creat a virtualenv

3)pip install your packages in  new virtualenv

4)cmd and activate

5)cd to the dir of python script

4)pyinstaller -w -F  mainscript.py

任何人都可以帮助找出我哪里出了错

此应用程序通常应为42MB或小于50MB

但这里的大小是600MB+

推荐答案

很大的贡献可能来自matplotlib使用的Qt和numpy使用的MKL

参见示例:

使用OpenBlas而不是MKL会有所帮助。

为了说明不同之处,我使用matplotlib/QtnumpyWindows10上使用两个不同的conda环境构建了一个简单的示例应用程序:一个使用MKL,另一个使用OpenBLAS,如下面的YAML文件所指定。

生成的可执行文件大小为:

  • MKL:312 MB
  • OpenBLAS:100 MB

可以使用conda env create -f <filename>创建环境。

MKL环境(参见this discussion):

name: mkl
dependencies:
  - python=3.8
  - matplotlib
  - pyinstaller

OpenBLAS环境(基于thisthis):

name: openblas
dependencies:
  - python=3.8
  - conda-forge::blas=*=openblas
  - conda-forge::matplotlib
  - pyinstaller

示例应用程序:

from matplotlib import pyplot as plt
import numpy as np

if __name__ == '__main__':
    x = np.arange(0, 10 * np.pi, 0.1)
    y = np.sin(x)
    dot_product = np.dot(y, y.T)  # just some matrix operation
    plt.plot(x, y)
    plt.title(dot_product)
    plt.show()

构建使用:pyinstaller --clean -w -F main.py

这篇关于如何在pyinstaller中减小exe文件大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆