diff --git a/.gitignore b/.gitignore index 450e39e..966a1d6 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ MANIFEST # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec +!source/build.spec # Installer logs pip-log.txt diff --git a/source/build.spec b/source/build.spec new file mode 100644 index 0000000..b477fca --- /dev/null +++ b/source/build.spec @@ -0,0 +1,67 @@ +# -*- mode: python ; coding: utf-8 -*- + +import os +import sys +from PyInstaller.utils.hooks import collect_submodules, collect_data_files + +block_cipher = None + +# 收集所有子模块 +hiddenimports = [] +hiddenimports += collect_submodules('workers') +hiddenimports += collect_submodules('core') +hiddenimports += collect_submodules('ui') +hiddenimports += collect_submodules('utils') +hiddenimports += collect_submodules('handlers') +hiddenimports += collect_submodules('config') + +a = Analysis( + ['Main.py'], + pathex=['.'], + binaries=[], + datas=[ + ('assets', 'assets'), + ('data', 'data'), + ('config', 'config'), + ('bin', 'bin'), + ('ui', 'ui'), + ('workers', 'workers'), + ('core', 'core'), + ('utils', 'utils'), + ('handlers', 'handlers'), + ], + hiddenimports=hiddenimports, + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + 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='FRAISEMOE_Addons_Installer_NEXT', + 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='assets/images/ICO/icon.ico', +)