안녕하세요! 블로그 자동 포스팅 봇 만들기 시리즈의 최종편에 오신 것을 환영합니다.
지난 7편 까지 우리는 AI 콘텐츠 제작부터 스케줄링까지, 상상했던 모든 기능을 성공적으로 구현했습니다.
하지만 이 멋진 프로그램은 아직 제 컴퓨터 안에서만 작동하는 "온실 속 화초"와 같습니다.
오늘은 PyInstaller라는 도구를 이용해, 이 프로그램을 파이썬이 설치되지 않은 컴퓨터에서도 더블클릭 한 번으로 실행할 수 있는 .exe
파일로 만들고, 다른 사람에게 배포하는 방법을 알려드리겠습니다!
PyInstaller, 왜 필요한가?
우리가 만든 프로그램은 Python, Flask, Selenium 등 수많은 라이브러리 위에서 동작합니다. 다른 사람이 이 프로그램을 사용하려면, 자신의 컴퓨터에 이 모든 것을 똑같이 설치해야 하죠. 정말 번거로운 일입니다. 하지만 PyInstaller는 이 모든 것을 해결해 줍니다.
PyInstaller는 우리의 파이썬 코드, 설치된 라이브러리, 심지어 파이썬 실행기 자체를 하나의 폴더 또는 파일로 깔끔하게 포장해주는 "패키징" 도구입니다.
이것만 있으면, 사용자는 복잡한 설치 과정 없이 .exe 파일만 실행하면 됩니다.
.exe 파일 만들기
먼저, 터미널에 아래 명령어를 입력해 PyInstaller를 설치합니다.
pip install pyinstaller
이제 .exe 파일을 만드는 것은 명령어 한 줄이면 충분합니다. 하지만 우리 프로그램은 templates 폴더 같은 외부 파일들을 사용하기 때문에, 몇 가지 추가 설정이 필요합니다.
1단계: .spec
파일 생성
먼저, 아래 명령어로 패키징을 위한 설계도 파일(.spec)을 생성합니다. --windowed 옵션은 실행 시 뒤에 검은 터미널 창이 뜨지 않게 해줍니다.
# 프로젝트 폴더(blog_automation) 안에서 실행
python -m PyInstaller --windowed app.py
(또는) python -m PyInstaller --windowed --onefile app.py
=> --onefile 옵션은 모든 의존성(라이브러리, 데이터 파일 등)을 하나의 실행 파일(.exe, .app 등)로 패키징하도록 지시
2단계: .spec
파일 수정
생성된 app.spec 파일을 열어, datas 부분에 우리 프로그램이 필요로 하는 외부 파일들을 아래와 같이 추가해
줍니다.
1 # app.spec 파일
2
3 a = Analysis(
4 ...
5 datas=[('templates', 'templates')], # templates 폴더를 통째로 추가
6 ...
7 )
3단계: 최종 빌드
이제 수정된 설계도를 바탕으로 최종 빌드를 진행합니다.
터미널에서 blog_automation 폴더 안에 있는지 확인하신 후, 아래 명령어를 실행해주세요.
python -m PyInstaller app.spec
이 명령이 성공적으로 완료되면, 프로젝트 폴더 안에 dist라는 폴더가 생기고, 그 안에 app
이라는 이름의
폴더가 우리의 최종 결과물입니다!
배포 패키지 구성 및 매뉴얼
이제 dist/app 폴더를 사용자에게 전달하기 좋게 포장하고, 간단한 사용 설명서를 만들어 봅시다.
[사용자 배포 패키지 구성]
app/
폴더: 위에서 생성된 최종 결과물 폴더입니다..env
파일: 사용자가 자신의 정보를 입력할 수 있도록, 내용이 비워진 샘플 파일을 준비합니다.prompt.md
파일: 사용자가 AI의 글쓰기 스타일을 직접 수정할 수 있도록 이 파일도 함께 제공합니다.README.txt
: 아래 내용을 담은 간단한 사용자 매뉴얼입니다.이 네 가지를 하나의 ZIP 파일로 압축하여 최종 배포판을 만듭니다.
README.txt
(사용자 매뉴얼 예시)
1 # 티스토리 자동 포스팅 프로그램 사용법
2
3 안녕하세요! 이 프로그램을 사용해주셔서 감사합니다.
4
5 ## 실행 전 준비사항 (최초 1회)
6
7 1. **Chrome 브라우저 설치:** 이 프로그램은 Chrome 브라우저를 이용해 작동합니다. 컴퓨터에
Chrome이 설치되어 있는지 확인해주세요.
8
9 2. **`.env` 파일 수정:** 함께 제공된 `.env` 파일을 메모장으로 열어, `""` 안에 자신의 정보를
정확하게 입력하고 저장해주세요.
10 - TISTORY_ID: 티스토리 로그인 아이디 (이메일)
11 - TISTORY_PW: 티스토리 로그인 비밀번호
12 - TISTORY_BLOG_URL: "sporg.tistory.com"과 같은 블로그 주소
13 - GOOGLE_API_KEY, OPENAI_API_KEY 등: 사용하려는 AI의 API 키
14
15 3. **`prompt.md` 파일 수정 (선택 사항):**
16 - AI의 글쓰기 스타일을 변경하고 싶다면, `prompt.md` 파일을 열어 지시문을 자유롭게
수정하세요.
17
18 ## 프로그램 실행
19
20 1. `app` 폴더 안에 있는 `app.exe` 파일을 더블클릭하여 실행하세요. (서버가 켜지는 데 몇 초
정도 걸릴 수 있습니다.)
21 2. 웹 브라우저를 열고, 주소창에 `http://127.0.0.1:5001` 을 입력하여 접속하세요.
22 3. 화면에 나타난 옵션을 선택하고 "포스팅 시작하기" 버튼을 누르면 자동 포스팅이 시작됩니다.
마치며
8편에 걸친 긴 여정이 드디어 끝났습니다! 우리는 단순한 아이디어에서 시작하여, AI와 자동화 기술을 결합하고, 웹 UI와 스케줄링, 그리고 배포까지 완료하여 하나의 완전한 프로그램을 만들어냈습니다.
이 시리즈가 여러분의 반복적인 업무를 자동화하는 데 작은 영감을 주었기를 바랍니다. 긴 글 읽어주셔서 감사합니다.
🎉 다음편에는 프로그램 소스파일과 사용자 매뉴얼을 모두 첨부파일로 제공하겠습니다.
'코딩 > 블로그 자동화' 카테고리의 다른 글
[자동화 프로젝트 #9] 블로그 자동화 프로그램 및 소스코드 공유 (3) | 2025.07.25 |
---|---|
[자동화 프로젝트 #7] APScheduler로 똑똑한 예약 발행 시스템 만들기 (6) | 2025.07.23 |
[자동화 프로젝트 #6] DALL-E 3 연동: AI가 대표 이미지까지! (6) | 2025.07.23 |
[자동화 프로젝트 #5] ChatGPT, Claude 등 다양한 AI 모델 연동하기 (0) | 2025.07.23 |
[자동화 프로젝트 #4] Flask로 내 파이썬 스크립트에 웹 UI 입히기 (1) | 2025.07.23 |
※ 위 배너는 쿠팡 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받습니다