autoTrans/setup.py

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.")