58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
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.") |