가상환경을 새로 만들 때 파이썬 버전을 뭘로 할지 잠깐 고민하게 돼요. 그런데 이건 취향 문제가 아니라 설치가 되냐 안 되냐의 문제예요.
결론부터 적을게요. AI 개발에 흔히 쓰는 라이브러리 30개의 최신판을 확인해 보니 24개가 파이썬 3.10 이상을 요구했어요. 그리고 최소 버전이 가장 높은 건 넘파이로 3.12 이상이에요.
반대쪽 끝도 있어요. 30개 중 3.9에서도 설치되는 건 6개뿐이고, 가장 낮은 요구는 ollama의 3.8이에요.
먼저 잰 범위부터 밝힐게요. 이 글의 숫자는 2026년 8월 25일 오전 11시 35분(한국 시각) 에 파이썬 패키지 저장소의 공개 API로 각 패키지의 최신판 메타데이터를 받아 읽은 값이에요. 실제로 설치를 시도해 본 것은 아니에요. 패키지가 스스로 선언한 조건을 읽은 거예요.

어떻게 확인했는지 먼저 못박을게요
| 항목 | 값 |
|---|
| 자료 | 파이썬 패키지 저장소 공개 JSON API |
| 대상 | AI 개발에 흔히 쓰는 패키지 30개 |
| 인증 | 없음 |
| 조회 일시 | 2026년 8월 25일 오전 11시 35분 (한국 시각) |
| 읽은 항목 | 최신판 번호, requires_python, 파이썬 버전 분류값, 배포 수 |
| 안 본 것 | 실제 설치 시도, 의존성 트리, 옛 버전의 조건 |
requires_python 이 이 글의 중심이에요. 설치 도구가 실제로 읽고 판단하는 값이라, 조건에 안 맞으면 그 버전은 후보에서 빠져요.
30개 전부 펼치면 이래요
| 패키지 | 최신판 | 요구하는 파이썬 버전 |
|---|
numpy | 2.5.2 | 3.12 이상 |
openai | 3.3.1 | 3.10 이상 |
anthropic | 1.0.0 | 3.10 이상 |
google-genai | 2.19.0 | 3.10 이상 |
transformers | 5.15.1 | 3.10.0 이상 |
langchain | 1.3.16 | 3.10.0 이상 4.0.0 미만 |
langchain-core | 1.6.0 | 3.10.0 이상 4.0.0 미만 |
llama-index | 0.14.24 | 3.10 이상 4.0 미만 |
litellm | 1.98.0 | 3.10 이상 3.15 미만 |
vllm | 0.27.1 | 3.10 이상 3.15 미만 |
sentence-transformers | 6.0.0 | 3.10 이상 |
huggingface-hub | 1.28.0 | 3.10.0 이상 |
datasets | 5.0.1 | 3.10.0 이상 |
accelerate | 1.14.0 | 3.10.0 이상 |
torch | 2.13.0 | 3.10 이상 |
faiss-cpu | 1.15.0 | 3.10 이상 |
mistralai | 2.9.4 | 3.10 이상 |
cohere | 7.0.9 | 3.10 이상 4.0 미만 |
groq | 1.6.0 | 3.10 이상 |
together | 2.31.0 | 3.10 이상 |
boto3 | 1.43.79 | 3.10 이상 |
streamlit | 1.62.0 | 3.10 이상 |
gradio | 6.26.0 | 3.10 이상 |
fastapi | 0.141.1 | 3.10 이상 |
google-generativeai | 0.8.6 | 3.9 이상 |
instructor | 1.15.4 | 3.9 이상 4.0 미만 |
tiktoken | 0.14.0 | 3.9 이상 |
pydantic | 2.13.4 | 3.9 이상 |
chromadb | 1.5.9 | 3.9 이상 |
ollama | 0.6.2 | 3.8 이상 |
파이썬 버전별로 몇 개가 깔리나요
| 파이썬 버전 | 설치 가능한 패키지 | 빠지는 것 |
|---|
| 3.8 | 1개 | ollama만 |
| 3.9 | 6개 | 24개가 막혀요 |
| 3.10 | 29개 | numpy 최신판 |
| 3.11 | 29개 | numpy 최신판 |
| 3.12 | 30개 | 없어요 |
| 3.13 | 30개 | 없어요 |
| 3.14 | 30개 | 없어요 |
| 3.15 (나온다면) | 28개 | litellm, vllm |
3.12에서 3.14 구간이 30개를 전부 받아 주는 자리예요. 지금 새로 환경을 만든다면 이 구간이 안전해요.

걸리기 쉬운 자리 세 개
첫째, 3.9는 이제 사실상 끝났어요. 24개가 막혀요. openai, anthropic, transformers, langchain, torch 처럼 거의 모든 프로젝트에 들어가는 것들이 여기 들어 있어요.
둘째, 넘파이는 설치 뒤에 버전을 확인하세요. 이게 제일 헷갈릴 수 있는 자리예요. 넘파이 최신판만 요구 버전이 3.12로 높으니, 파이썬 3.10이나 3.11 환경에서는 그 최신판이 후보에서 빠져요. 그 경우 설치 도구가 어떻게 동작하는지는 이번에 설치를 시도해 확인하지 않았어요. 다만 최신판이 깔렸는지 아닌지는 설치 뒤 버전을 한 번 찍어 보면 바로 알 수 있으니, 그 확인을 넣어 두시는 편이 안전해요.
셋째, 상한을 건 패키지가 있어요. litellm 과 vllm 은 3.15 미만으로 못박아 두었어요. 파이썬이 새 버전을 내면 이 둘은 바로 따라오지 못해요. 새 파이썬이 나오자마자 갈아타면 이런 자리에서 막혀요.
langchain, langchain-core, llama-index, instructor, cohere 는 4.0 미만을 걸어 두었는데, 이건 사실상 제한이 없는 것과 같아요. 파이썬 4가 나온다는 계획이 알려진 바 없거든요.
분류값은 설치를 막지 않아요
패키지 소개 화면에는 「지원 파이썬 버전」이 따로 표시돼요. 그런데 그건 requires_python 과 다른 항목이에요.
| 구분 | requires_python | 분류값(classifiers) |
|---|
| 설치 도구가 읽나요 | 읽어요. 안 맞으면 설치가 막혀요 | 읽지 않아요 |
| 누가 쓰나요 | 패키지 제작자 | 패키지 제작자 |
| 틀리면 | 설치가 실패해요 | 표시만 어긋나요 |
이번 30개에서 분류값 상태를 세어 봤어요.
| 상태 | 개수 | 어떤 패키지인가요 |
|---|
| 파이썬 버전 분류값이 아예 없음 | 6개 | llama-index litellm instructor tiktoken ollama mistralai |
3 이라고만 적음 | 1개 | chromadb |
| 버전을 구체적으로 적음 | 23개 | 나머지 |
7개는 소개 화면만 봐서는 지원 버전을 알 수 없어요. 그리고 구체적으로 적은 것 중에도 어긋난 곳이 있어요. accelerate 는 >=3.10.0 을 요구하면서 분류값에는 3.10 하나만 적어 두었어요. 3.11 이상에서도 설치되는데 표시는 3.10까지만 되어 있는 셈이에요.
그래서 판단은 requires_python 으로 하세요. 분류값은 참고용이에요.
설치가 막혔을 때 오류 문구를 읽는 법
버전이 안 맞으면 설치 도구가 알려 주는데, 문구가 두 갈래로 갈려요. 어느 쪽인지에 따라 대응이 달라집니다.
첫 번째 갈래는 명확한 거절이에요. 「이 패키지는 파이썬 몇 이상을 요구하는데 지금 환경은 몇이다」라는 식으로 요구 조건과 현재 버전을 함께 알려 줘요. 이때는 원인이 분명하니 파이썬을 올리거나, 그 파이썬에서 되는 옛 버전을 지정해서 깔면 돼요.
두 번째 갈래가 까다로워요. 「조건에 맞는 버전을 찾을 수 없다」는 문구가 나오거나, 오류 없이 설치가 끝났는데 받으려던 최신판이 아닌 경우예요. 이때 설치 도구가 내부적으로 어떤 순서로 후보를 고르는지는 이 글에서 확인한 범위 밖이에요. 확인한 것은 각 패키지가 선언한 요구 버전까지고, 최신판이 그 조건에 안 맞으면 후보에서 빠진다는 사실까지예요.
그래서 두 번째 갈래는 설치 직후에 버전을 찍어 보는 것으로 가려내는 편이 확실해요. 특히 넘파이처럼 최소 버전이 다른 것보다 높은 패키지가 섞여 있으면 이 확인이 값을 해요.
한 가지 더 짚어 둘게요. 이 글이 읽은 것은 각 패키지가 직접 선언한 요구 버전뿐이에요. 패키지는 다른 패키지를 함께 끌어오는데, 그 딸린 패키지들의 요구 버전은 이번에 보지 않았어요. 그러니 이 표의 값만으로 「이 환경이면 반드시 깔린다」고 단정하지는 마세요. 오류 메시지에 모르는 패키지 이름이 나온다면 그 이름을 저장소에서 찾아 요구 버전을 같은 방법으로 확인해 보시면 돼요.

환경을 나누는 기준
이번 조사에서 최소 요구가 3.8부터 3.12까지 흩어져 있었어요. 이걸 한 환경에 다 넣으려면 가장 높은 요구를 따라가야 하는데, 그러면 낮은 버전만 지원하는 옛 패키지가 못 들어와요. 그래서 환경을 나누는 게 현실적인 해법이에요.
| 상황 | 권하는 방식 |
|---|
| 새 프로젝트를 시작할 때 | 파이썬 3.12에서 3.13으로 환경을 새로 만들기 |
| 옛 코드를 유지보수할 때 | 그 코드가 돌던 파이썬 버전으로 환경을 따로 두기 |
| 여러 모델·프레임워크를 실험할 때 | 프레임워크별로 환경을 분리하기 |
| 배포 환경이 정해져 있을 때 | 개발 환경도 그 버전에 맞추기 |
마지막 줄이 특히 중요해요. 개발은 3.13에서 하고 배포는 3.10인 상태로 두면, 개발 중에는 잘 깔리던 패키지가 배포에서 막혀요. 그런 어긋남은 대개 배포 직전에 발견돼서 손이 많이 갑니다.
직접 확인하는 방법
명령 한 줄이면 돼요.
pip index versions numpy
설치 없이 조건만 보고 싶다면 저장소 API를 그대로 열어도 돼요.
https://pypi.org/pypi/numpy/json
응답의 info.requires_python 이 이 글에서 센 값이에요. 브라우저로 열어도 보이고, 필요하면 여러 패키지를 돌면서 한꺼번에 뽑을 수도 있어요.
이미 만든 환경에서 실제로 뭐가 깔렸는지 확인하려면 이렇게 하세요.
pip list --format=freeze
그래서 어떻게 하면 되나요
새로 시작한다면 3.12에서 3.13이 무난해요. 30개가 전부 들어오고 상한에도 안 걸려요.
3.9 이하를 쓰고 있다면 올려야 해요. 옛 버전을 고정해서 계속 쓸 수는 있지만, 새로 나오는 기능과 보안 수정은 못 받아요.
최신 파이썬이 나왔다고 바로 갈아타지 마세요. 상한을 건 패키지가 실제로 있어요. 새 버전은 주력 라이브러리들이 따라온 뒤에 옮기는 편이 덜 아파요.
프로젝트마다 환경을 나누세요. 이번 조사에서 최소 요구가 3.8부터 3.12까지 흩어져 있었어요. 한 환경에 다 몰면 가장 높은 요구를 따라가야 해요.
무엇을 먼저 자동화할지 고르는 기준은 자동화 우선순위를 정하는 가이드에, 로컬에서 직접 모델을 돌리는 절차는 로컬 LLM 무료 구축 가이드에 적어 두었어요.
확인하지 못한 것
- 실제로 설치해 보지 않았어요. 패키지가 선언한 조건을 읽은 값이에요. 선언과 실제 동작이 다른 경우가 아주 없지는 않아요.
- 의존성 트리를 보지 않았어요. A 패키지가 3.10을 허용해도 그게 끌어오는 B 패키지가 더 높은 버전을 요구하면 결국 막혀요. 이 글은 직접 선언한 조건만 봤어요.
- 옛 버전의 조건을 보지 않았어요. 전부 조회 시점의 최신판 기준이에요. 낮은 파이썬에서 옛 판을 고정해 쓰는 경우는 이 표로 판단하면 안 돼요.
- 30개는 제가 고른 목록이에요. 흔히 쓰는 것들로 골랐지만 표본이지 전수가 아니에요.
- 파이썬 3.15의 출시 여부나 일정을 확인하지 않았어요. 표의 3.15 행은 「그 버전이 나온다면」이라는 가정 아래 조건을 적용한 값이에요.
- 한 번의 조회예요. 몇 주면 달라질 수 있어요.
정리
- AI 라이브러리 30개 중 24개가 파이썬 3.10 이상을 요구해요.
- 최소 버전이 가장 높은 건 넘파이 3.12, 가장 낮은 건 ollama 3.8이에요.
- 3.12에서 3.14 구간이면 30개가 전부 설치돼요. 3.9면 24개가 막혀요.
- 넘파이만 요구 버전이 3.12로 가장 높아요. 그보다 낮은 파이썬에서는 최신판이 후보에서 빠지니, 설치 뒤 버전을 직접 확인하세요.
litellm 과 vllm 은 3.15 미만 상한이 걸려 있어요.
- 소개 화면의 분류값은 설치를 막지 않아요. 판단은
requires_python 으로 하세요. 30개 중 7개는 분류값이 부실했어요.