import PyInstaller.__main__ from pathlib import Path PROJECT_DIR = Path(__file__).parent.parent.absolute() def get_git_revision(base_path): git_dir = Path(base_path) / '.git' with (git_dir / 'HEAD').open('r') as head: ref = head.readline().split(' ')[-1].strip() with (git_dir / ref).open('r') as git_hash: return git_hash.readline().strip() def create_version(): with open(Path(__file__).parent/"_version.py", "w") as vf: vf.write(f"VERSION=\"{get_git_revision(PROJECT_DIR)[:7]}\"") def build(): create_version() PyInstaller.__main__.run([ str(PROJECT_DIR / "run.py"), '--onefile', '--collect-submodules', '--name', 'LoN-Deployer', "-i", "NONE", # other pyinstaller options... ])