import os import shutil from cx_Freeze import setup, Executable import sys # 기존 build 폴더 삭제 build_dir = "build" if os.path.exists(build_dir): print(f"[DEBUG] Deleting existing build directory: {build_dir}") shutil.rmtree(build_dir) print(f"[DEBUG] Build directory {build_dir} deleted successfully.") else: print(f"[DEBUG] No existing build directory found at: {build_dir}") # 파이썬 애플리케이션을 패키징하기 위한 setup.py 파일 # base 설정 (윈도우 환경에서만 "Win32GUI" 사용) base = None if sys.platform == "win32": base = "Win32GUI" print(f"[DEBUG] Platform is Windows. Setting base to: {base}") else: print(f"[DEBUG] Platform is not Windows. Base set to: {base}") # 빌드 옵션 설정 build_exe_options = { "packages": [ "os", "ctypes", "PyQt5.QtWidgets", "PyQt5.QtCore", "PyQt5.QtGui", "pyautogui", "pyperclip", "bs4", "requests", "vertexai", "pyvda", "cv2", "numpy", "PIL", "playwright.sync_api", "re", "time", "win32gui", "win32con" ], "include_files": ["leensoo1nt.json", "prompt.json"], # 추가 파일 포함 (필요한 리소스 파일 지정) "excludes": [ "tkinter", "_tkinter", "Tkconstants", "Tcl", "AppKit", "Quartz", "Xlib", "IPython", "matplotlib" ], # 불필요한 모듈 제외 } print(f"[DEBUG] Build options set: {build_exe_options}") # 실행 파일 설정 executables = [ Executable( script="main.py", base=base, target_name="AutoTrans1.exe", icon=None # 아이콘 파일 경로가 있다면 지정 가능 ) ] print(f"[DEBUG] Executable configuration set: {executables}") # setup 함수 호출 setup( name="AutoTrans1", version="1.0", description="Python Application for Image Translation", options={"build_exe": build_exe_options}, executables=executables ) print("[DEBUG] Setup process complete.")