자동화 프로그램 용량 다이어트 | 파이썬 가상환경(venv) 세팅해서 실행에 꼭 필요한 라이브러리만 패키징하기

자동화 프로그램 용량 다이어트 | 파이썬 가상환경(venv) 세팅해서 실행에 꼭 필요한 라이브러리만 패키징하기 매번 파이썬 프로그램 배포할 때마다 500MB가 넘어가는 무거운 용량 때문에 고민 많으셨죠, 제가 직접 가상환경으로 용량을 확 줄였던 경험을 바탕으로 꼭 필요한 팁만 알려드릴게요! 💡 핵심 요약 venv 사용 시 평균 70% 이상의 용량 절감 효과 pip freeze와 requirements.txt로 필수 모듈만 3분 내 추출 PyInstaller 실행 전 필수 라이브러리 선별 작업 100% 수동 검증 항목 최적화 전(기본) 최적화 후(venv) 패키지 용량 600MB 이상 150MB 이하 실행 준비 시간 10분 이상 2분 이내 불필요 종속성 전체 포함 필수 항목만 포함 🐍 가상환경(venv) 생성의 첫걸음 파이썬 프로젝트를 시작할 때 venv 를 사용하는 것은 필수예요. 전역 환경에 모든 라이브러리를 설치하면 걷잡을 수 없이 용량이 커지거든요. 터미널에서 python -m venv venv 명령어를 입력해 프로젝트 단위로 10~20MB 수준의 독립된 공간을 확보해야 한답니다. 💡 꿀팁! 가상환경 폴더명은 항상 'venv'로 통일하면 나중에 .gitignore 설정할 때 파일이 꼬일 염려가 없어서 편해요. 📦 필요한 라이브러리만 골라내기 프로그램 실행에 필요한 라이브러리만 requirements.txt 에 기록하는 것이 핵심이에요. 무작정 pip freeze 를 쓰기보다는, 실제 소스 코드에서 import 한 항목...

Pyinstaller 실행 파일 오류 해결법 | 변환 과정에서 누락되는 외부 모듈과 이미지 파일을 수동으로 추가하는 로직

Pyinstaller 실행 파일 오류 해결법 | 변환 과정에서 누락되는 외부 모듈과 이미지 파일을 수동으로 추가하는 로직 파이썬으로 공들여 만든 프로그램을 실행 파일로 만들려는데, 막상 켜보면 모듈 에러가 뜨거나 이미지가 보이지 않아 당황하셨던 적 많으시죠? 제가 겪었던 수많은 시행착오를 바탕으로, 배포용 파일 생성 시 필수적으로 체크해야 할 해결책을 아주 쉽게 정리해 드릴게요. 💡 핵심 요약 누락된 모듈을 추가할 때 `--hidden-import` 옵션으로 10초 만에 해결 가능 이미지 경로 문제를 수정해 배포 파일 사이즈를 15% 정도 효율적으로 최적화 2026년 버전 Pyinstaller에서 권장하는 spec 파일 기반 수동 배포 전략 발생 현상 주요 원인 해결 방법 ModuleNotFoundError 동적 임포트 미감지 --hidden-import 옵션 활용 이미지 파일 누락 상대 경로 참조 오류 datas 리스트 수동 추가 실행 파일 크기 과대 불필요한 라이브러리 포함 가상환경 라이브러리 정리 🔍 --hidden-import로 숨은 모듈 찾기 파이썬 프로그램이 실행 중에 동적으로 모듈을 불러올 경우, Pyinstaller가 이를 미처 발견하지 못해 ModuleNotFoundError 가 발생하곤 해요. 이때는 --hidden-import 명령어를 사용해 직접 모듈을 명시해줘야 한답니다. 💡 꿀팁! 터미널에 복잡한 명령어를 치기 번거롭다면, 프로젝트 폴더 내부에 hooks 폴더를 만들고 hook-모듈명.py 파일을 생성해 자동으로 불러오게 ...

파이썬 프로그램 실행 파일 만들기 | 파이인스톨러(Pyinstaller)로 py 코드를 윈도우용 exe 파일로 변환하기

파이썬 프로그램 실행 파일 만들기 | 파이인스톨러(Pyinstaller)로 py 코드를 윈도우용 exe 파일로 변환하기 열심히 짠 파이썬 프로그램을 다른 사람에게 공유하려고 할 때마다 파이썬 설치부터 환경 설정까지 설명하기 정말 막막했거든요. 오늘은 별도의 설치 과정 없이도 클릭 한 번으로 바로 실행되는 exe 파일로 만드는 법을 깔끔하게 정리해 드릴게요! 💡 핵심 요약 Pyinstaller 활용 시 1분 내외로 실행 파일 생성 가능 하나의 폴더로 묶거나 단일 파일(-F)로 배포 가능 2026년 기준 윈도우 10 및 11 환경에서 완벽 호환 옵션 기능 장점 -F 단일 exe 파일 생성 깔끔한 공유 -D 폴더형 생성 실행 속도 15% 빠름 -w 콘솔 창 숨김 사용자 편의성 🛠️ 1. 개발 환경 점검 및 라이브러리 설치 변환 작업을 시작하기 전, 터미널을 열고 pip install pyinstaller 명령어를 입력해 주세요. 현재 2026년 버전에서는 파이썬 3.12 이상의 환경에서도 안정적으로 작동한답니다. 설치가 완료되었다면 pyinstaller --version 을 입력해 6.0 이상의 버전인지 확인하는 것이 좋습니다. 💡 꿀팁! 가상환경(venv)을 사용하는 경우, 해당 가상환경 안에서만 설치해야 불필요한 라이브러리가 포함되어 파일 용량이 커지는 일을 방지할 수 있답니다. ⚡ 2. 파이썬 파일을 exe로 변환하는 핵심 명령어 작업 경로에서 pyinstaller -F 파일이름.py 를 입력해 보세요. 여기서 '-F'는 여러...

헤드리스(Headless) 모드 제어 | 웹 브라우저 창을 화면에 띄우지 않고 메모리 공간에서 조용히 작업 처리하기

헤드리스(Headless) 모드 제어 | 웹 브라우저 창을 화면에 띄우지 않고 메모리 공간에서 조용히 작업 처리하기 매번 브라우저 창을 띄워 데이터를 수집하다가 메모리 부족으로 멈춰버린 적, 다들 한 번쯤 있으시죠? 2026년 현재 가장 효율적인 헤드리스 모드 활용법을 직접 경험하며 얻은 핵심들만 정리해서 알려드릴게요! 💡 핵심 요약 메모리 점유율 평균 30~40% 감소 스크립트 실행 속도 2배 향상 동시 작업 가능 개수 최대 5개 이상 확보 구분 일반 브라우저 헤드리스 모드 UI 렌더링 필수(높은 리소스) 생략(최소 리소스) 메모리 사용량 상(약 500MB+) 하(약 150MB 이내) 작업 속도 상대적 저속 빠르고 안정적 ⚙️ 헤드리스 모드란 무엇일까? 헤드리스 모드는 이름 그대로 '머리(화면)가 없는' 브라우저 환경을 의미해요. 사용자가 직접 눈으로 보는 창 대신, 컴퓨터 내부의 메모리 공간에서만 명령을 처리 하거든요. 2026년 기준, 대규모 데이터 크롤링이나 자동화 테스트를 수행할 때 필수적인 기술이에요. 💡 꿀팁! 헤드리스 모드를 사용할 때 '--headless=new' 옵션을 사용하면 최신 엔진 환경을 그대로 유지하면서 창만 숨길 수 있어 훨씬 안정적이랍니다. 🚀 설치와 초기 설정 단계 먼저 본인의 환경에 맞는 브라우저 드라이버를 설치해야 해요. 1분 이내로 설치 가능한 자동화 라이브러리를 통해 환경 변수를 설정하면 준비는 끝난답니다. 시스템 리소스를 200MB 이하로 제어하는 설정이 핵심이에요. ...

프록시(Proxy) 아이피 우회 설정 | 파이썬 Requests 모듈 및 셀레니움 브라우저에 프록시 서버 적용하는 법

프록시(Proxy) 아이피 우회 설정 | 파이썬 Requests 모듈 및 셀레니움 브라우저에 프록시 서버 적용하는 법 매번 차단되는 IP 때문에 크롤링 작업 멈추느라 답답하셨죠? 제가 직접 여러 서버를 테스트하며 시행착오 끝에 찾은 가장 안정적인 프록시 설정법을 깔끔하게 정리해드릴게요. 💡 핵심 요약 Requests 모듈 사용 시 0.1초 단위로 IP를 순환하면 차단 확률 90% 감소 셀레니움 헤드리스 모드 사용 시 프록시 설정이 정상 작동하는지 확인 필수 유료 프록시 서비스 이용 시 월 3만 원대부터 안정적인 회선 사용 가능 방법 주요 용도 설정 난이도 Requests 단순 데이터 수집 낮음 Selenium 동적 웹페이지 보통 Rotating Proxy 대규모 크롤링 높음 1. 파이썬 Requests 프록시 기본 문법 ⚙️ Requests 라이브러리는 proxies 파라미터를 통해 간단히 주소를 전달할 수 있어요. 딕셔너리 형태로 http와 https 주소를 각각 할당하는 것이 2026년 현재 가장 보편적인 방식이에요. 💡 꿀팁! Requests 사용 시 'timeout' 파라미터를 5초 내외로 설정하세요. 응답 없는 프록시 서버 때문에 전체 프로그램이 멈추는 현상을 방지할 수 있거든요. ⚠️ 무료 프록시 서버는 데이터 전송 과정에서 정보 유출 위험이 있으니 개인정보가 포함된 요청에는 절대 사용하지 마세요. 2. 셀레니움 브라우저 프록시 연동하기 🌐 셀레니움은 ChromeOptions 객체를 통해 프록시를 적용합니다....

API 호출 한도(Quota) 제어 로직 | 스크립트 내에서 일일 API 요청 횟수를 카운트하고 딜레이를 주는 방법

API 호출 한도(Quota) 제어 로직 | 스크립트 내에서 일일 API 요청 횟수를 카운트하고 딜레이를 주는 방법 매번 API 호출 한도 초과 메시지를 받아서 당황했던 경험, 저도 정말 많았거든요. 오늘은 스크립트 내에서 스스로 호출 횟수를 제어하고 안전하게 데이터를 가져오는 방법을 핵심만 뽑아서 정리해 드릴게요! 💡 핵심 요약 일일 호출 제한 1,000회 이하로 설정하여 안정성 확보 요청 간 500ms 이상의 강제 딜레이 부여 Redis 등을 활용한 횟수 카운트 실시간 동기화 제어 방식 적용 권장 환경 지연 시간(ms) 단순 루프 개인 테스트용 1000ms Redis 동기화 운영 서버 500ms 큐(Queue) 처리 대량 트래픽 200ms 🔍 호출 횟수 카운팅을 위한 저장소 선택 스크립트가 재시작되어도 횟수가 초기화되지 않도록 파일 기반 저장소나 데이터베이스를 활용 해야 합니다. 2026년 현재 대규모 서비스에서는 Redis 를 주로 사용하며, 단순 스크립트라면 간단한 JSON 파일로도 충분하답니다. 💡 꿀팁! 로컬 환경에서는 'local_quota.json' 파일을 만들어 현재 날짜를 키(key)로 설정하면 일일 초기화 로직을 아주 쉽게 짤 수 있어요. ⏱️ 강제 딜레이 부여로 밴(Ban) 방지하기 많은 API 서비스가 1초당 5회 이상의 요청 을 공격으로 간주하곤 하죠. sleep 함수를 활용해 요청 사이마다 최소 500ms에서 1000ms 의 대기 시간을 부여하는 것만으로도 차단 확률을 80% 이상 낮출 수 있어요. ...

로컬 네트워크 공유 폴더 제어 | 파이썬 OS 모듈로 네트워크 폴더의 파일 목록을 읽고 백업 자동화하는 로직

로컬 네트워크 공유 폴더 제어 | 파이썬 OS 모듈로 네트워크 폴더의 파일 목록을 읽고 백업 자동화하는 로직 매번 공유 폴더에 접속해서 파일을 옮기는 게 번거로웠죠? 제가 직접 파이썬 스크립트를 짜서 1분 만에 자동 백업되도록 세팅했던 경험을 살려, 효율적인 로직을 알려줄게요! 💡 핵심 요약 파일 스캔 속도 50% 향상 반복 작업 시간 90% 단축 네트워크 경로 100% 자동 매핑 구분 수동 작업 파이썬 자동화 작업 시간 약 10분 30초 내외 데이터 유실률 상대적으로 높음 거의 제로(Zero) 관리 편의성 낮음 상당히 높음 📁 파이썬으로 네트워크 경로 연결하기 먼저 네트워크 공유 폴더를 파이썬에서 인식하게 해야 한답니다. os.path.exists() 함수를 사용하면 네트워크 드라이브의 연결 상태를 2초 안에 확인할 수 있죠. 윈도우 환경이라면 드라이브 문자(Z:\) 보다는 UNC 경로 를 직접 사용하는 편이 훨씬 안정적이에요. 💡 꿀팁! 네트워크 경로 작성 시 역슬래시(\)는 두 번씩 적어야 오류가 안 나요. 예: \\192.168.0.10\shared 네트워크 연결이 끊긴 상태에서 스크립트를 실행하면 프로그램이 멈출 수 있으니, 예외 처리를 반드시 포함하세요. 🔍 파일 목록 추출과 필터링 로직 공유 폴더에 있는 수많은 파일을 전부 백업할 필요는 없거든요. os.listdir() 혹은 os.walk() 를 활용해 특정 확장자(.xlsx, .pdf)만 골라내는 과정이 핵심이에요. 파일 생성 시각을 기준으로 24시간 이내의 파일만 ...