102 lines
4.2 KiB
RPMSpec
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)],
|
|
) |