2026년 9월 30일 기준 파이썬 설치는 python.org에서 최신 안정판 3.14.7(8월 5일 릴리스)을 받고, Windows 10 이상이면 Python Install Manager로 py install 3.14 한 줄을 실행하면 끝난다(공식 Windows 문서 기준). 설치 뒤 py --version으로 버전을 확인하고, 15줄짜리 스크립트로 광고 리포트 CSV를 요약하면 파이썬 기초 문법 다섯 가지를 한 번에 써 볼 수 있다. 이 글은 그 순서를 그대로 따라 한다.
세 줄로 먼저 읽기
- 받을 버전: 3.14.7. 3.10은 2026년 10월에 지원이 끝난다.
- Windows 설치: 3.14(2025년 10월 7일 릴리스)부터 공식 도구가 Python Install Manager로 바뀌었다. 예전 "full installer"와 "Python launcher"는 deprecated로 표시돼 있다.
- 첫 실행: 프로젝트 폴더마다 가상환경(
.venv)을 만들고, 표준 라이브러리csv만으로 캠페인별 CPA를 계산한다.
확인한 자료는 python.org 다운로드 페이지, 파이썬 공식 문서의 Windows 사용법·가상환경 튜토리얼·csv 모듈 문서다. 예제 스크립트는 샘플 CSV로 돌려 출력 형식을 확인했다. 이 글의 범위는 Windows 10 이상이다. macOS와 Linux는 다루지 않는다. Windows 설치 화면은 직접 재현하지 못해서 명령과 문제 해결 항목은 공식 문서를 기준으로 적었다.
지금 받을 파이썬은 3.14.7이다
python.org 다운로드 페이지가 알려 주는 최신 안정판은 3.14.7이다. 릴리스일은 2026년 8월 5일이다. 같은 페이지에서 3.14와 3.13은 버그 수정 단계, 3.12 이하는 보안 수정 단계로 표시된다. 3.10은 2026년 10월 지원 종료로 적혀 있고, 정확한 날짜는 월까지만 나와 있다. 맥피는 3.10이 깔린 PC라면 이번 달 안에 올리는 편이 낫다고 본다(맥피 권장).
처음 배우는 사람은 3.14를 받으면 된다(맥피 권장). 회사 도구나 라이브러리가 특정 버전만 지원한다고 적어 놓았다면 그 버전이 먼저다. 맥피는 첫 설치 목록에서 Anaconda와 free-threaded 빌드(3.14t)를 뺐다. 기초를 익히는 데 필요하지 않고, 처음부터 선택지가 늘면 막히는 곳도 늘어난다.
Windows에서는 명령 세 줄이면 설치된다
Python Install Manager는 파이썬 런타임(실제로 코드를 실행하는 프로그램 본체)을 내려받고 관리하는 도구다. 공식 문서 기준으로 Python 3.14는 Windows 10 이상에서 지원된다. Microsoft Store 또는 python.org에서 설치 관리자를 받은 뒤 터미널(명령 프롬프트나 PowerShell)에서 다음을 순서대로 친다.
py install 3.14파이썬 3.14 런타임을 설치한다.py --version설치된 버전을 확인한다.python hello.py메모장으로 만든hello.py파일을 실행한다.
winget을 쓰는 사람은 winget install 9NQ7512CXL7T -e로 설치 관리자를 받을 수도 있다(공식 문서에 나오는 패키지 ID다). py list는 지금 깔린 런타임 목록을 보여 준다.

hello.py 안에는 한 줄만 있으면 된다.
print("안녕, 파이썬")
python 명령이 안 될 때는 세 가지를 본다
공식 문서의 문제 해결 항목을 옮기면 이렇다.
python명령을 찾을 수 없다: 설치 관리자가 깔렸는지 확인하고, Windows 설정의 "앱 실행 별칭 관리"에서 파이썬 관련 항목이 켜져 있는지 본다.- 엉뚱한 버전이 실행된다: 환경 변수
PYTHON_MANAGER_DEFAULT값과 예전에 깔린 파이썬이 남아 있는지 확인한다. - 예전
py.exe와 충돌한다: 설치된 앱 목록에서 "Python launcher"를 찾아 지운다.
설치 중 PATH(어느 폴더의 프로그램을 명령어로 바로 부를지 정하는 목록) 항목을 물으면 추가하는 쪽으로 답하기를 맥피는 권한다. 공식 문서는 첫 런타임 설치 때 이 옵션을 제시한다고 적는다. 공식 문서에 따르면 기본 위치는 %LocalAppData%\Python\bin이다.
프로젝트마다 가상환경 하나를 만든다
가상환경은 프로젝트별로 라이브러리를 따로 담아 두는 폴더다. 한 프로젝트가 requests 2.6.0을 고정해 쓰고 다른 프로젝트가 최신판을 써도 서로 부딪히지 않는다. 공식 튜토리얼의 순서는 아래와 같다.
python -m venv .venv현재 폴더에.venv를 만든다..venv\Scripts\activate활성화한다. 프롬프트 앞에(.venv)가 붙으면 성공이다. PowerShell에서는.venv\Scripts\Activate.ps1을 쓴다.python -m pip install requests필요한 라이브러리를 설치한다.

나중에 같은 환경을 다른 PC에서 되살리려면 python -m pip freeze > requirements.txt로 목록을 저장하고, 새 PC에서 python -m pip install -r requirements.txt를 실행한다. 끝나면 deactivate로 가상환경을 끈다. PowerShell에서 스크립트 실행이 막혔다는 메시지가 나오면 명령 프롬프트로 열어 다시 해 본다. 이 부분은 공식 문서에 없고 흔히 겪는 사례라서 직접 확인하지는 못했다.
광고 리포트 CSV를 요약하는 첫 스크립트
기초 문법을 따로 외우기보다 쓸모 있는 스크립트 하나를 읽으며 익히는 편이 빠르다. 광고 관리자에서 내려받은 ad_report.csv가 아래처럼 생겼다고 하자. 맨 윗줄이 열 이름이다.
캠페인,비용,클릭,전환
브랜드검색,120000,340,12
쇼핑,250000,610,20
브랜드검색,80000,210,5
리타겟팅,90000,150,0
같은 폴더에 report.py를 만들고 다음을 붙여 넣는다. 캠페인이 여러 줄 나오면 합산하고 CPA(전환 한 건을 얻는 데 든 비용)를 계산한다.
import csv
from collections import defaultdict
cost = defaultdict(int)
conv = defaultdict(int)
with open("ad_report.csv", encoding="utf-8-sig", newline="") as f:
for row in csv.DictReader(f):
name = row["캠페인"]
cost[name] += int(row["비용"])
conv[name] += int(row["전환"])
for name in cost:
cpa = cost[name] / conv[name] if conv[name] else 0
print(f"{name}: 비용 {cost[name]:,}원, 전환 {conv[name]}건, CPA {cpa:,.0f}원")
python report.py를 실행하면 샘플 기준으로 이렇게 출력된다.
브랜드검색: 비용 200,000원, 전환 17건, CPA 11,765원
쇼핑: 비용 250,000원, 전환 20건, CPA 12,500원
리타겟팅: 비용 90,000원, 전환 0건, CPA 0원

코드에 나온 기초 문법
- 변수:
name,cpa처럼 값에 붙인 이름이다.=는 "같다"가 아니라 "담는다"는 뜻이다. - 딕셔너리:
cost[name]처럼 이름표(키)로 값을 찾는 상자다.defaultdict(int)는 처음 보는 키를 0에서 시작하게 해 준다. - 반복문:
for row in ...은 CSV의 각 행을 하나씩 꺼내 아래 들여쓴 줄을 실행한다. 들여쓰기가 곧 문법이다. 칸 수가 어긋나면IndentationError가 난다. - 조건 표현:
A if 조건 else B는 전환이 0건일 때 0으로 나누는 오류(ZeroDivisionError)를 피한다. - f-string: 문자열 앞의
f와 중괄호{}로 값을 끼워 넣는다.:,는 천 단위 쉼표다.
csv 모듈 문서는 파일을 열 때 newline=''을 항상 지정해도 안전하다고 적는다. 위 코드도 그렇게 했다. 열 이름 캠페인, 비용, 전환은 자기 파일의 첫 줄과 같게 바꿔야 한다. 다르면 KeyError가 난다.
한국에서 확인할 것
- 다운로드 사이트: "파이썬 다운로드"를 검색하면 설치 파일을 대신 제공하는 사이트도 함께 나온다. 주소창이
python.org인지 먼저 본다. - CSV 인코딩: 한국어 Windows의 엑셀은 "CSV(쉼표로 분리)"로 저장하면 cp949로 저장하는 경우가 많다고 알려져 있다. (이 문단은 공식 문서가 아니라 일반적으로 알려진 내용이며 맥피가 직접 확인하지 못했다.) 위 코드가 글자 깨짐이나
UnicodeDecodeError를 내면encoding="cp949"로 바꿔 본다. "CSV UTF-8"로 저장한 파일은utf-8-sig로 열린다. 이 부분은 파일마다 달라서 맥피가 모든 경우를 확인하지는 못했다. - 열 이름: 네이버·카카오·구글 광고 관리자가 내려주는 CSV는 열 이름과 순서가 서로 다르다. 매체마다 스크립트의
row["..."]를 그 파일에 맞게 고친다.
자주 하는 실수
- 가상환경을 켜지 않고
pip install을 한다. 라이브러리가 전역에 깔려 나중에 버전이 섞인다. 프롬프트에(.venv)가 보이는지 먼저 확인한다. pip대신python -m pip를 쓰지 않아 다른 파이썬에 설치된다. 공식 튜토리얼도python -m pip형태를 쓴다.- 파일 이름을
csv.py로 짓는다. 표준 모듈과 이름이 겹쳐import csv가 내 파일을 불러온다.report.py처럼 짓는다. - 예제를 눈으로만 읽는다(맥피 권장: 직접 쳐 본다). 열 이름 하나를 일부러 틀려 보고
KeyError를 직접 보면 오류 메시지 읽는 법이 익는다.
오늘 할 일
이번 주 안에 py install 3.14를 실행하고, 내 광고 계정에서 최근 한 주 리포트를 CSV로 내려받아 report.py의 열 이름만 바꿔 돌려 본다. 첫 결과가 나오면 다음 단계는 결과를 CSV로 다시 저장하는 것이다. 설치 명령과 버전은 자주 바뀌므로 실행 전에 python.org 다운로드 페이지의 최신 버전을 한 번 더 본다.
참고한 공식 자료
같은 주제 글
이 글이 도움이 되었다면 공유해주세요
최신 인사이트
카카오톡 공유 썸네일 안 나올 때 해결법 (Kakao JavaScript SDK 2025)
카카오톡 공유하기에서 썸네일 이미지가 안 나오는 원인과 scrapImage로 KAGE URL을 변환해 해결하는 방법을 단계별로 설명합니다. 지금 확인하세요.
Claude Code 서브에이전트로 CRM 사용자 설명서 20분 만에 완성하는 방법
Claude Code 서브에이전트를 활용해 CRM 코드베이스에서 사용자 설명서와 비주얼 가이드북을 20분 만에 자동 생성한 실전 사례를 공유합니다. 지금 확인하세요.
GEO 생성형 엔진 최적화: 2025년 AI 마케팅 전략 완전 가이드
GEO 생성형 엔진 최적화란 무엇이며 기존 SEO와 어떻게 다른지, 2025년 AI 마케팅 전략의 핵심 실행 방법 5가지를 데이터와 함께 알아보세요.
관련 프로젝트
새 글을 이메일로 받아보세요
마케팅, 분석, 개발 인사이트를 정리해서 보내드려요.

