【问题标题】:Pyinstaller onefile Executable Incredibly Huge and SlowPyinstaller onefile 可执行文件非常庞大和缓慢
【发布时间】:2019-07-18 03:19:31
【问题描述】:

我知道我不是第一个问的,但是论坛上的其他答案对我没有帮助,所以我问了。我有一个短的(181 行)python 脚本,只有导入

import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider, RadioButtons

并运行带有滑块和单选按钮的交互式数学工具。但是当我使用 pyinstaller 构建它时,我最终得到了一个巨大的 (90 MB) dist 文件夹,其中似乎包含各种不必要的包,如 babel 和密码学。里面的可执行文件大约需要 5 秒左右才能实际显示图形。当我使用 --onefile 选项运行它时,情况似乎并没有好转,因为我得到了一个 43 MB 的可执行文件,显示图形需要更长的时间,大约 10 秒。

我很确定这不是脚本的错,因为在 Spyder 中,打开它需要不到一秒钟的时间。我怀疑这是因为所有无关的软件包。如果是这样,我如何让 pyinstaller 排除它们,如果没有,那么可能的问题是什么?谢谢。

编辑:另外,我在 conda 虚拟环境中执行所有这些操作,我在某处读到该环境应该已经有助于使 pyinstaller 的可执行文件更小。创建环境后,我直接安装的包只有pyinstaller、spyder、numpy和matplotlib。

【问题讨论】:

标签: python matplotlib pyinstaller matplotlib-widget


【解决方案1】:

发生这种情况是因为在创建可执行文件时您也在使用库,我所做的只是导入程序所需的内容然后编译它,例如,对于 Tkinter 中的应用程序:

from tkinter import Tk, Label
root = Tk()
Label(root, text='Label').pack()
root.mainloop()

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 2014-12-22
    • 2011-08-23
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多