我正在使用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
除了警告,启动画面正常工作
答案 0 :(得分:0)
如果一个.exe文件(没有其他文件夹/文件)是可以接受的(如果你需要查询文件大小,真的只是尝试一下),这是我的解决方案,运行命令:
pyinstaller --onefile "directory\script_name.py"
在当前目录中,将创建一堆新文件夹。以下是对它们的处理方法:
__pycache__
如果出现