💥 MAJOR UPDATE: Windows compatibility fixes + executable + installer
This commit is contained in:
79
overcode.spec
Normal file
79
overcode.spec
Normal file
@@ -0,0 +1,79 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
"""
|
||||
OverCode Shell PyInstaller Specification
|
||||
Creates a standalone executable with all dependencies
|
||||
"""
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
block_cipher = None
|
||||
|
||||
# Application data files
|
||||
added_files = [
|
||||
('commands', 'commands'),
|
||||
('utils', 'utils'),
|
||||
('requirements.txt', '.'),
|
||||
('README.md', '.') if Path('README.md').exists() else None,
|
||||
]
|
||||
|
||||
# Add pyfiglet fonts
|
||||
try:
|
||||
import pyfiglet
|
||||
pyfiglet_path = Path(pyfiglet.__file__).parent
|
||||
fonts_path = pyfiglet_path / 'fonts'
|
||||
if fonts_path.exists():
|
||||
added_files.append((str(fonts_path), 'pyfiglet/fonts'))
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# Remove None entries
|
||||
added_files = [item for item in added_files if item is not None]
|
||||
|
||||
a = Analysis(
|
||||
['overshell.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=added_files,
|
||||
hiddenimports=[
|
||||
'colorama',
|
||||
'pyfiglet',
|
||||
'pypresence',
|
||||
'pyreadline3',
|
||||
'requests'
|
||||
],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=['tkinter', 'matplotlib', 'numpy', 'pandas'], # Exclude heavy unused modules
|
||||
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='OverCodeShell',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=True,
|
||||
disable_windowed_traceback=False,
|
||||
argv_emulation=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
icon='overcode_icon.ico' if Path('overcode_icon.ico').exists() else None,
|
||||
version='version_info.txt' if Path('version_info.txt').exists() else None,
|
||||
)
|
||||
Reference in New Issue
Block a user