AutoTao/setup.py

63 lines
2.3 KiB
Python

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
)