27 lines
805 B
Python
27 lines
805 B
Python
import shutil
|
|
import sys
|
|
from pathlib import Path
|
|
from platform import system
|
|
from subprocess import CalledProcessError, run
|
|
|
|
project_dir = Path(".")
|
|
assets_dir = project_dir / "assets"
|
|
main_py = project_dir / "main.py"
|
|
icon_file = assets_dir / ("duck.ico" if system() == "Windows" else "duck.png")
|
|
|
|
for dir_to_remove in ["dist", "build"]:
|
|
dir_path = project_dir / dir_to_remove
|
|
if dir_path.exists():
|
|
shutil.rmtree(dir_path)
|
|
|
|
pyinstaller_cmd = [
|
|
"pyinstaller", "--onefile", "--windowed",
|
|
f"--add-data={assets_dir}{';' if system() == 'Windows' else ':'}{assets_dir}",
|
|
f"--name=DuckTrack", f"--icon={icon_file}", str(main_py)
|
|
]
|
|
|
|
try:
|
|
run(pyinstaller_cmd, check=True)
|
|
except CalledProcessError as e:
|
|
print("An error occurred while running PyInstaller:", e)
|
|
sys.exit(1) |