首页 > 解决方案 > 为什么我的exe脚本这么重?(安装程序)

问题描述

我使用的库:

import os, sys
import subprocess
import shutil
from docx import *
from django.utils.encoding import smart_text
import xlrd
from pdfminer import *
import textract
import pandas as pd
from pptx import Presentation
from tika import parser

我能做些什么来减少 exe 的大小?我的规格文件:

a = Analysis(['tryhard.py'],
             pathex=['C:\\poppler-0.67.0\\bin'],
             binaries=[],
             datas=[],
             hiddenimports=['textract.parsers.txt_parser', 'textract.parsers.pdf_parser', 'textract.parsers.docx_parser', 'textract.parsers.odt_parser', 'pandas._libs.tslibs.timedeltas'],
             hookspath=[],
             runtime_hooks=[],
             excludes=['numpy'],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)

命令pyinstaller -F --clean --onedir myspecfile.spec生成 3 个 4GB 大小的文件夹。

标签: pythonpyinstaller

解决方案


在生成的文件夹中查找您不需要的东西,然后在excludes规范文件的行中指定它们。例如,我不使用 Tcl、Tk 或 Tkinter,所以我excludes看起来像:

excludes=['FixTk', 'tcl', 'tk', '_tkinter', 'tkinter', 'Tkinter'],

Pyinstaller 包括厨房水槽,以防万一。您可以确定不需要的任何内容都可以使用excludes. 这将减小大小(我的单文件应用程序的最终大小是 63MB)。

是一个类似的问题excludes


推荐阅读