128 lines
2.9 KiB
Python
128 lines
2.9 KiB
Python
# -*- mode: python ; coding: utf-8 -*-
|
||
# 完全独立的PyInstaller配置
|
||
# 包含Python解释器和所有依赖,无需目标机器安装Python
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
block_cipher = None
|
||
|
||
a = Analysis(
|
||
['seat_allocation_system.py'],
|
||
pathex=[str(Path.cwd())],
|
||
binaries=[],
|
||
datas=[
|
||
# 包含必要的数据文件(如果有的话)
|
||
],
|
||
hiddenimports=[
|
||
# 核心依赖
|
||
'pandas',
|
||
'openpyxl',
|
||
'numpy',
|
||
'xlsxwriter',
|
||
'xlrd',
|
||
'datetime',
|
||
'pathlib',
|
||
'subprocess',
|
||
'platform',
|
||
'sys',
|
||
'os',
|
||
|
||
# openpyxl相关
|
||
'openpyxl.workbook',
|
||
'openpyxl.worksheet',
|
||
'openpyxl.styles',
|
||
'openpyxl.utils',
|
||
'openpyxl.writer.excel',
|
||
'openpyxl.reader.excel',
|
||
'openpyxl.cell',
|
||
'openpyxl.formatting',
|
||
'openpyxl.formatting.rule',
|
||
|
||
# pandas相关
|
||
'pandas.io.excel',
|
||
'pandas.io.common',
|
||
'pandas.io.parsers',
|
||
'pandas.io.formats',
|
||
'pandas.io.formats.excel',
|
||
'pandas._libs.tslibs.timedeltas',
|
||
'pandas._libs.tslibs.np_datetime',
|
||
'pandas._libs.tslibs.nattype',
|
||
'pandas._libs.skiplist',
|
||
|
||
# numpy相关
|
||
'numpy.core.multiarray',
|
||
'numpy.core.umath',
|
||
'numpy.core._methods',
|
||
'numpy.lib.format',
|
||
'numpy.random._pickle',
|
||
|
||
# 编码相关
|
||
'encodings',
|
||
'encodings.utf_8',
|
||
'encodings.gbk',
|
||
'encodings.cp1252',
|
||
|
||
# 其他必要模块
|
||
'pkg_resources.py2_warn',
|
||
'_ctypes',
|
||
'ctypes.util'
|
||
],
|
||
hookspath=[],
|
||
hooksconfig={},
|
||
runtime_hooks=[],
|
||
excludes=[
|
||
# 排除不必要的大型库
|
||
'matplotlib',
|
||
'scipy',
|
||
'IPython',
|
||
'jupyter',
|
||
'notebook',
|
||
'tkinter',
|
||
'PyQt5',
|
||
'PyQt6',
|
||
'PySide2',
|
||
'PySide6',
|
||
'test',
|
||
'tests',
|
||
'unittest',
|
||
'doctest',
|
||
'pdb',
|
||
'pydoc',
|
||
'setuptools',
|
||
'pip',
|
||
'wheel',
|
||
'distutils'
|
||
],
|
||
win_no_prefer_redirects=False,
|
||
win_private_assemblies=False,
|
||
cipher=block_cipher,
|
||
noarchive=False,
|
||
)
|
||
|
||
# 过滤和优化
|
||
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
|
||
|
||
exe = EXE(
|
||
pyz,
|
||
a.scripts,
|
||
a.binaries,
|
||
a.zipfiles,
|
||
a.datas,
|
||
[],
|
||
name='座位分配系统',
|
||
debug=False,
|
||
bootloader_ignore_signals=False,
|
||
strip=False, # 保留符号信息以便调试
|
||
upx=False, # 不使用UPX压缩以提高兼容性
|
||
upx_exclude=[],
|
||
runtime_tmpdir=None,
|
||
console=True,
|
||
disable_windowed_traceback=False,
|
||
argv_emulation=False,
|
||
target_arch=None,
|
||
codesign_identity=None,
|
||
entitlements_file=None,
|
||
# 确保包含Python运行时
|
||
exclude_binaries=False,
|
||
) |