# -*- mode: python ; coding: utf-8 -*- from PyInstaller.utils.hooks import collect_all # 强制收集 PyQt5 全部模块及二进制文件 qt_datas, qt_binaries, qt_hiddenimports = collect_all('PyQt5') # 自定义 manifest:普通权限运行 + 声明 PerMonitorV2 DPI 感知, # 避免程序在不同缩放比例的显示器之间移动时被 Windows 位图拉伸。 _MANIFEST = r''' Royirin Rosmontis Private Proxy Lite PerMonitorV2, PerMonitor, system true/pm ''' a = Analysis( ['proxy_lite.py'], pathex=['..\\.venv\\Lib\\site-packages'], binaries=qt_binaries, datas=[('..\\ico.ico', '.'), ('pac_domains.json', '.'), ('pac_ip_cn.json', '.')] + qt_datas, hiddenimports=qt_hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, a.binaries, a.datas, [], name='Royirin Rosmontis Private Proxy Lite', debug=False, bootloader_ignore_signals=False, strip=False, # UPX 会压缩资源段(含图标),冷缓存下 Explorer 可能提取不到图标导致任务栏空白 upx=False, upx_exclude=[], runtime_tmpdir=None, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon=['..\\ico.ico'], manifest=_MANIFEST, )