import sys import os from cx_Freeze import setup, Executable # 필요한 파일 경로 설정 base_dir = os.path.dirname(__file__) browsers_dir = os.path.join(base_dir, 'src', 'browsers') chromium_dir = os.path.join(browsers_dir, 'src', 'browsers', 'chromium-1140') extensions_dir = os.path.join(browsers_dir, 'src', 'browsers', 'extensions') whale_dir = os.path.join(browsers_dir, 'src', 'browsers', 'whale') include_files = [ os.path.abspath('config.ini'), ('src/baseXLS_Percenty.xlsx', 'src/baseXLS_Percenty.xlsx'), ('src/browsers/chromedriver_128.0.6613.137.exe', 'browsers/chromedriver_128.0.6613.137.exe'), ('src/browsers/chromium-1140', 'browsers/chromium-1140'), ('src/browsers/whale', 'browsers/whale'), ('src/browsers/extensions', 'browsers/extensions'), ('src/browsers/user_data', 'browsers/user_data'), ('src/browsers/whale/user_data', 'browsers/whale/user_data'), ] # build_exe 옵션 설정 # include_files에 추가로 포함할 파일이나 폴더를 지정합니다. build_exe_options = { # 패키징 시 포함할 모듈들 (필요에 따라 추가) "packages": [ "os", "sys", "logging", "ctypes", "configparser", "sqlite3", "pandas", "requests", "json", "re", "asyncio", "time", "xlwings", "PySide6.QtWidgets", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtPrintSupport", "PySide6.QtNetwork", "PySide6.QtXml", ], 'includes': [ 'PySide6.QtWidgets', 'PySide6.QtCore', 'PySide6.QtGui', 'shiboken6', 'login', 'src.keyword', 'comtypes.stream' , 'src', 'src.keyword', 'src.titleManager' ], 'include_files': include_files, 'excludes': [ 'tkinter', 'PyQt4', 'PyQt5', 'AppKit', 'Foundation', 'IPython', 'OpenSSL', 'curses', 'test', 'unittest', 'matplotlib', 'asyncpg' ], 'silent': True # 디버그 메시지 활성화 } # Windows 환경에서는 GUI 애플리케이션임을 지정하기 위해 base를 "Win32GUI"로 설정합니다. base = None if sys.platform == "win32": base = "Win32GUI" # Executable 객체 생성 (프로그램의 시작 스크립트가 main.py라고 가정) executables = [ Executable("main.py", base=base, target_name="AutoTao.exe") ] setup( name="AutoTao", version="1.1", description="Auto_Tao - for AutoPercenty3", options={"build_exe": build_exe_options}, executables=executables )