파이썬이 만든 __pycache__ 폴더는 지워도 되나요?

개발 폴더 · 2026-09-07 확인

지워도 됩니다. 파이썬이 빨리 켜지려고 미리 변환해 둔 파일이라, 실행하면 그 자리에서 다시 만듭니다. 용량은 크지 않지만 폴더 개수가 많아서 프로젝트를 복사하거나 압축할 때 시간을 잡아먹습니다. .pytest_cache, .mypy_cache, .ruff_cache도 같은 성격입니다.

어떤 것들이 생기나

__pycache__ — 파이썬이 .py를 미리 변환해 둔 .pyc 파일. 소스 파일이 있는 폴더마다 생깁니다.

.pytest_cache — 테스트 도구가 마지막 실행 결과를 기억해 둔 것. 실패한 것만 다시 돌리는 기능이 이걸 씁니다.

.mypy_cache, .ruff_cache — 타입 검사기와 린터의 캐시. 다음 검사를 빠르게 하려고 둡니다.

.ipynb_checkpoints — 주피터 노트북의 자동 저장본. 노트북을 많이 쓰셨다면 이게 꽤 쌓입니다.

한꺼번에 지우기

PowerShell에서 특정 폴더 아래의 __pycache__를 전부 지우려면, 먼저 Get-ChildItem으로 목록을 보고 확인한 다음 지우세요.

지우면 다음 실행이 아주 조금 느려질 뿐입니다. 체감은 거의 없습니다.

주피터 체크포인트는 다릅니다. 자동 저장본이라 최근 작업을 복구할 수 있는 유일한 사본일 수 있습니다. 지우기 전에 원본이 저장돼 있는지 확인하세요.

아예 안 생기게 하기

환경 변수 PYTHONDONTWRITEBYTECODE를 1로 두면 __pycache__를 안 만듭니다. 실행할 때마다 변환해서 조금 느려집니다.

실행할 때 python -B 옵션을 줘도 같습니다.

개발 중에는 그냥 두는 편이 낫습니다. 배포용 이미지를 만들 때만 끄는 게 보통입니다.

프로젝트를 압축하거나 옮길 때

__pycache__ 폴더가 수백 개면 압축과 복사가 눈에 띄게 느려집니다. 파일 개수가 많으면 총 크기와 무관하게 시간이 걸립니다.

옮기기 전에 이 폴더들을 지우면 훨씬 빨라집니다. 어차피 새 자리에서 다시 만들어집니다.

가상환경 폴더(.venv)도 같이 빼세요. 경로가 박혀 있어서 다른 PC에서는 어차피 안 돌아갑니다. requirements.txt만 있으면 새로 만드는 게 맞습니다.

자주 묻는 것

git에 올라가는 것 같아요.

.gitignore에 __pycache__/ 와 *.pyc 를 넣으세요. 이미 올라간 것은 git rm --cached 로 빼야 합니다.

지우면 프로그램이 느려지나요?

처음 한 번만 아주 조금입니다. 다시 만들어진 뒤에는 원래대로입니다.

이걸 직접 찾아드립니다

테라클린은 이 글에 나온 것들을 실제로 재서, 지워도 되는 것만 이유와 함께 보여줍니다. 파일은 기기를 떠나지 않고, 무료입니다.

무료로 받기

같이 보면 좋은 글