1
0
Fork 0

playwright 경로 수정 및 패키지 포함. spec 수정

This commit is contained in:
R5600U_PC 2024-04-12 17:38:55 +09:00
parent 2a9ce02d0e
commit 02d9a37be1
7 changed files with 33 additions and 45 deletions

View File

@ -1,3 +1,5 @@
from playwright.sync_api import sync_playwright
import random
import logging

View File

@ -1,43 +0,0 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['build.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='build',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='build',
)

View File

@ -4,3 +4,5 @@ port = 27017
user = root
password = 1234
[Playwright]
PlaywrightBrowsersPath = ./Lib/site-packages/my_playwright_browsers

Binary file not shown.

11
install_playwright.py Normal file
View File

@ -0,0 +1,11 @@
import os
import subprocess
import sys
# 가상 환경 내 site-packages 경로 설정
playwright_path = os.path.join(sys.prefix, 'Lib', 'site-packages', 'playwright', 'browsers')
os.environ['PLAYWRIGHT_BROWSERS_PATH'] = playwright_path
# Playwright 설치
subprocess.run([sys.executable, '-m', 'pip', 'install', 'playwright'], check=True)
subprocess.run(['playwright', 'install'], check=True)

19
main.py
View File

@ -11,7 +11,6 @@ import atexit
import platform, os, sys
from login import login
import sys
from navigate import navigate_to_new_product_registration
from modify_products import modify_products
from database import setup_database
@ -26,6 +25,22 @@ from PyQt5 import QtCore, QtWidgets
from logger_module import setup_logger
import logging
def set_playwright_path():
# 패킹된 애플리케이션의 임시 디렉터리 경로를 확인
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
# PyInstaller 패킹 후 실행 시
base_path = sys._MEIPASS
playwright_path = os.path.join(base_path, 'playwright', 'browsers')
else:
# 로컬 개발 환경
base_path = os.path.dirname(__file__)
playwright_path = os.path.join(base_path, 'Lib', 'site-packages', 'playwright', 'browsers')
# Playwright 브라우저 경로 설정
os.environ['PLAYWRIGHT_BROWSERS_PATH'] = playwright_path
print(f"Playwright browsers path set to: {playwright_path}")
# Windows SetThreadExecutionState API를 사용하여 절전 모드 방지
def prevent_sleep_mode():
"""
@ -199,6 +214,6 @@ def main():
if __name__ == "__main__":
CURRENT_VERSION = "1.0.0"
set_playwright_path()
logger = setup_logger('default_logger', 'application.log', level=logging.DEBUG)
main()

View File

@ -20,6 +20,7 @@ a = Analysis(
(os.path.join(spec_dir, 'Lib', 'site-packages', 'paddle', 'libs', '*.dll'), 'paddle\\libs'),
(os.path.join(spec_dir, 'Lib', 'site-packages', 'selenium_stealth'), 'selenium_stealth'),
(os.path.join(spec_dir, 'Lib', 'site-packages', 'fake_useragent'), 'fake_useragent'),
(os.path.join(spec_dir, 'Lib', 'site-packages', 'playwright'), 'playwright'),
(os.path.join(spec_dir, 'config.ini'), '.'),
(os.path.join(spec_dir, 'Percenty_SS_Code.json'), '.'),
(os.path.join(spec_dir, 'NotoSansKR-Bold.ttf'), '.'),