【发布时间】:2018-03-11 12:58:40
【问题描述】:
我正在使用pyinstaller打包启动画面,这些是python脚本的导入:
import subprocess
import time
import sys
import os
import signal
from multiprocessing import Process, Queue
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk, Pango
我使用以下命令创建 dist 文件夹:
pyinstaller splash_gui.py
问题是生成的文件夹是 630Mb,这对于一个启动屏幕程序来说有点过头了,所以我进一步调查发现我可以删除很多文件(最重的是共享文件夹中的文件)包含我的主题,所有主题)但更重要的是我发现绝大多数动态库都是无用的。
通过反复试验,我设法删除了所有不必要的东西(通常会生成一个我不在乎的警告,因为它只是一个闪屏)。有没有直接的方法可以避免这种混乱?简而言之,我只想保留包含实际调用函数的文件。
这是清洁前后的情况:
630Mb 8Mb
. .
└── splash_gui └── splash_gui
├── array.so ├── binascii.so
... ├── _collections.so
├── share ├── cPickle.so
│ ├── fontconfig ├── cStringIO.so
│ ├── glib-2.0 ├── fcntl.so
│ ├── icons ├── _functools.so
│ ├── locale ├── gi._gi.so
│ ├── mime ├── _io.so
│ └── themes ├── itertools.so
... ├── libpython2.7.so.1.0
├── _sha.so ├── math.so
├── _socket.so ├── _multiprocessing.so
├── splash_gui ├── operator.so
├── _ssl.so ├── _random.so
├── strop.so ├── select.so
├── _struct.so ├── _socket.so
├── termios.so ├── splash_gui
├── time.so ├── _struct.so
├── unicodedata.so ├── time.so
└── zlib.so └── zlib.so
除了警告之外,启动画面正常工作
【问题讨论】:
-
只生成一个 exe 而不是文件夹可以吗?
-
只有在 exe 很小的情况下,一个大的 exe 才会在启动画面出现时产生延迟
标签: python splash-screen pyinstaller