Files
2026-07-28 03:21:34 +08:00

102 lines
4.2 KiB
RPMSpec

# -*- mode: python ; coding: utf-8 -*-
# 导入 PyInstaller 中的 Analysis 类,用于分析 Python 脚本及其依赖项
from PyInstaller.building.build_main import Analysis
# 导入 PyInstaller 中的 PYZ 类,用于将纯 Python 代码压缩成一个 PYZ 文件
from PyInstaller.building.api import PYZ
# 导入 PyInstaller 中的 EXE 类,用于创建可执行文件
from PyInstaller.building.api import EXE
from PyInstaller.archive.pyz_crypto import PyiBlockCipher
import base64, os
# 创建一个 Analysis 对象,用于分析要打包的 Python 脚本及其依赖项
a = Analysis(
# 要打包的 Python 脚本列表,这里指定为 'Termination4.py'
['Termination4.py'],
# 搜索模块的路径列表,这里为空,表示使用默认路径
pathex=[],
# 要包含的二进制文件列表,这里为空
binaries=[],
# 要包含的数据文件列表,格式为 (源文件路径, 目标路径)
# 这里将 '.\\tools\\tools.dll' 文件复制到打包后的根目录
datas=[
('C:\\Windows\\System32\\ucrtbase.dll', '.'),
('.\\ocr\\', '.\\ocr\\'),
('.\\TConfig\\version.ini', '.\\TConfig\\'),
('.\\TConfig\\EXEConfig.bin', '.\\TConfig\\'),
('.\\static\\', '.\\static\\'),
('.\\TLUI\\InspirationSong.mid', '.\\static\\'),
('.\\.inf\\.bin\\', '.\\PEBinary\\'),
('.\\.inf\\.lib\\', '.\\PELibrary\\'),
('.\\T2SRFB\\win\\T2SRFB\\T2SRFB4.exe', '.\\PEBinary\\'),
],
# 隐藏导入的模块列表,这些模块不会被自动检测到,需要手动指定
hiddenimports=[],
# 钩子文件所在的路径列表,这里为空
hookspath=[],
# 钩子配置字典,这里为空
hooksconfig={},
# 运行时钩子列表,这里为空
runtime_hooks=[],
# 要排除的模块列表,这里为空
excludes=[],
# 是否不将文件打包成一个归档文件,设置为 True 表示不打包成归档文件
noarchive=True,
# 优化级别,2 表示最高级别的优化
optimize=2,
# 排除系统库
exclude_system_libraries=True,
#cipher=PyiBlockCipher(key=base64.b64encode(os.urandom(16)).decode('utf-8'))
)
# 创建一个 PYZ 对象,将 Analysis 对象中分析出的纯 Python 代码压缩成一个 PYZ 文件
pyz = PYZ(a.pure)
# 创建一个 EXE 对象,用于生成可执行文件
exe = EXE(
# 包含纯 Python 代码的 PYZ 对象
pyz,
# Analysis 对象中分析出的脚本文件列表
a.scripts,
# Analysis 对象中分析出的二进制文件列表
a.binaries,
# Analysis 对象中指定的数据文件列表
a.datas,
# 要添加到可执行文件中的额外资源列表,这里为空
[],
# 生成的可执行文件的名称
name='Termination4',
# 是否开启调试模式,设置为 False 表示不开启
debug=False,
# 引导加载程序是否忽略信号,设置为 False 表示不忽略
bootloader_ignore_signals=False,
# 是否对可执行文件进行 strip 操作,去除不必要的符号信息
strip=False,
# 是否使用 UPX 进行压缩,设置为 False 表示不使用
upx=True,
upx_level=9,
# 不使用 UPX 压缩的文件列表,这里为空
upx_exclude=["libssl-3.dll"],
# 运行时临时目录,这里设置为 None 表示使用默认临时目录
runtime_tmpdir=None,
# 是否以控制台模式运行可执行文件,设置为 False 表示不显示控制台窗口
console=False,
# 是否禁用窗口化的错误回溯,设置为 False 表示不禁用
disable_windowed_traceback=False,
# 是否模拟命令行参数,设置为 False 表示不模拟
argv_emulation=False,
# 目标架构,这里设置为 None 表示使用默认架构
target_arch=None,
# 代码签名标识,这里设置为 None 表示不进行代码签名
codesign_identity=None,
# 权限文件,这里设置为 None 表示不使用权限文件
entitlements_file=None,
#图标
icon="./Art/icon.ico",
# manifest
manifest="./.tmp/App.manifest",
# 资源文件
win_resources=[('./.tmp/App.rc', 1)],
)