70 lines
1.7 KiB
Python
70 lines
1.7 KiB
Python
# -*- mode: python ; coding: utf-8 -*-
|
|
import os
|
|
import sys
|
|
from PyInstaller.utils.hooks import collect_all
|
|
|
|
def get_version():
|
|
with open('version.txt', 'r', encoding='utf-8') as f:
|
|
version = f.read().strip()
|
|
return version
|
|
|
|
version = get_version()
|
|
|
|
# 收集所有需要的依赖
|
|
datas = [('icon', 'icon'), ('version.txt', '.')]
|
|
binaries = []
|
|
hiddenimports = [
|
|
'win32gui', 'win32con', 'win32process', 'psutil', # Windows API 相关
|
|
'PyQt5', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWidgets', # GUI 相关
|
|
'PyQt5.sip', # PyQt5 必需
|
|
'PyQt5.QtNetwork', # 网络相关
|
|
'PIL', # Pillow 相关
|
|
'PIL._imaging', # Pillow 核心
|
|
'requests', 'urllib3', 'certifi', # 网络请求相关
|
|
'json', 'uuid', 'hashlib', 'logging', # 基础功能相关
|
|
'importlib', # 导入相关
|
|
'pkg_resources', # 包资源
|
|
]
|
|
|
|
# 主要的分析对象
|
|
a = Analysis(
|
|
['main.py'],
|
|
pathex=[],
|
|
binaries=binaries,
|
|
datas=datas,
|
|
hiddenimports=hiddenimports,
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=['_tkinter', 'tkinter', 'Tkinter'],
|
|
win_no_prefer_redirects=False,
|
|
win_private_assemblies=False,
|
|
noarchive=False,
|
|
module_collection_mode={'PyQt5': 'pyz+py'},
|
|
)
|
|
|
|
# 创建PYZ
|
|
pyz = PYZ(a.pure)
|
|
|
|
# 创建EXE
|
|
exe = EXE(
|
|
pyz,
|
|
a.scripts,
|
|
a.binaries,
|
|
a.datas,
|
|
[],
|
|
name=f'听泉cursor助手{version}',
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=True,
|
|
upx_exclude=[],
|
|
runtime_tmpdir=None,
|
|
console=False,
|
|
disable_windowed_traceback=False,
|
|
argv_emulation=False,
|
|
target_arch=None,
|
|
codesign_identity=None,
|
|
entitlements_file=None,
|
|
icon=['icon\\two.ico'],
|
|
) |