반응형 코딩취미/Python127 PyInstaller로 빌드한 PySide6 앱에서 multiprocessing.Process가 동작하지 않을 때 해결 방법 PyInstaller로 빌드한 PySide6 앱에서 multiprocessing.Process가 동작하지 않을 때 해결 방법Python으로 GUI 앱을 만들 때 PySide6와 multiprocessing을 함께 사용하면, 메인 UI의 응답성을 유지하면서 백그라운드 작업을 처리할 수 있습니다. 그런데 PyInstaller로 이 앱을 EXE로 빌드하고 실행하면, 코드상에서는 잘 되던 multiprocessing.Process가 작동하지 않는 경우가 있습니다. 이 문제의 원인과 해결 방법을 이번 포스팅에서 정리해보겠습니다.문제 상황예를 들어 아래와 같은 코드에서:import multiprocessingdef run(queue, exe_arg_list, open_enable): print("Process.. 2025. 6. 12. 파이썬에서 sys.argv로 명령줄 인수 처리하기 (+ key=value 형식까지) 🐍 파이썬에서 sys.argv로 명령줄 인수 처리하기 (+ key=value 형식까지)파이썬 스크립트를 실행할 때 외부에서 값을 전달하고 싶을 때, sys.argv를 이용하면 간편하게 명령줄 인수를 받을 수 있습니다. 이번 포스팅에서는 sys.argv의 기본 사용법부터 --key=value 형태의 인수 처리까지, 실전에서 자주 사용하는 방법을 정리해봤습니다.✅ sys.argv란?sys.argv는 파이썬의 sys 모듈에서 제공하는 리스트로, 스크립트 실행 시 전달된 인수들을 문자열로 저장합니다.import sysprint("명령줄 인수:", sys.argv)$ python script.py hello world 출력 결과명령줄 인수: ['script.py', 'hello', 'world']sys.argv.. 2025. 6. 11. PySide6 GUI 앱에서 multiprocessing.Queue와 Process 안전하게 종료하는 방법 PySide6 GUI 앱에서 multiprocessing.Queue와 Process 안전하게 종료하는 방법PySide6 기반 GUI 프로그램에서 multiprocessing.Process와 multiprocessing.Queue를 사용하는 경우, UI를 닫더라도 백그라운드 프로세스가 종료되지 않고 리소스를 점유하는 현상이 발생할 수 있습니다. 특히 PyInstaller로 EXE를 만들었을 때 더욱 민감하게 반응합니다. 이 글에서는 Queue와 Process를 정상 종료하는 방법과, 종료 이후 terminate()와 close()를 다시 호출하면 어떻게 되는지 실전 예제와 함께 설명합니다.✅ 문제 현상self.close() 또는 MainWindow.close() 호출 시 UI는 종료되지만,백그라운드에서 실.. 2025. 6. 11. Python으로 파일 및 경로 확인, 생성, 삭제 자동화하기 📝 Python으로 파일 및 경로 확인, 생성, 삭제 자동화하기Python을 사용하여 파일 및 폴더를 관리하는 작업은 간단하면서도 매우 유용합니다. 이 포스팅에서는 Python으로 파일과 경로를 자동으로 확인하고 생성하며, 필요에 따라 삭제하는 방법을 단계별로 설명하겠습니다.📌 1. 파일 경로에서 파일 존재 여부 확인하기먼저 Python으로 지정된 경로에 파일이 실제로 존재하는지 확인하는 방법을 알아보겠습니다.✅ 파일 존재 여부 확인 코드import osdef check_file_exists(file_path): """ 전달받은 파일 경로에 실제 파일이 존재하는지 확인하는 함수 Args: file_path (str): 확인할 파일 경로 Returns: .. 2025. 5. 10. PySide6 팝업에서 Cancel 클릭 시 메인 GUI 닫기 PySide6 팝업에서 Cancel 클릭 시 메인 GUI 닫기PySide6는 Python으로 GUI 애플리케이션을 개발할 수 있는 강력한 도구로, 사용자에게 직관적인 인터페이스를 제공할 수 있습니다. 이번 포스팅에서는 팝업 창에서 "Cancel" 버튼을 클릭하면 팝업 창과 메인 GUI가 함께 닫히도록 구현하는 방법을 설명합니다. 이 과정에서 PySide6의 기본 개념과 관련된 기술도 함께 설명합니다.주요 개념1. PySide6Python을 위한 Qt GUI 라이브러리입니다.다양한 GUI 요소를 제공하여 데스크톱 애플리케이션을 쉽게 개발할 수 있습니다.2. QMessageBoxPySide6에서 팝업 메시지를 표시할 수 있는 클래스입니다.표준 메시지 타입 (정보, 경고, 오류 등)과 사용자 정의 버튼을 제공.. 2025. 5. 9. Python 프로젝트에서 폴더 관리 자동화 Python 프로젝트에서 폴더 관리 자동화프로젝트에서 구성 파일이나 사용자 데이터 폴더를 자동으로 관리하는 것은 필수적입니다. 이 글에서는 파이썬을 사용하여 지정된 폴더를 자동으로 생성하고, 기존 폴더가 있을 경우 내부 파일을 삭제하여 초기화하는 방법을 소개합니다.기초 개념1. os 모듈Python 표준 라이브러리로 파일 및 폴더 관리에 사용됩니다.os.path.exists() : 지정된 경로가 존재하는지 확인.os.makedirs() : 지정된 경로에 폴더를 생성합니다.2. shutil 모듈파일 및 폴더 작업을 더 쉽게 처리할 수 있도록 다양한 유틸리티를 제공합니다.shutil.rmtree() : 폴더와 하위 내용을 재귀적으로 삭제합니다.기본 코드 예제import osimport shutilif not.. 2025. 5. 9. 이전 1 2 3 4 ··· 22 다음 반응형