All posts

LangChain, Python 3.10 지원 종료 예고: 업그레이드 전에 확인할 것

langchain-core 1.8.0과 langchain 1.5.0부터 Python 3.10 지원이 중단될 예정이다. 현재 지원 범위와 이전 준비를 살펴본다.

Python 실행 환경 사이를 잇는 소프트웨어 의존성 블록

LangChain을 Python 3.10에서 운영한다면 다음 마이너 버전으로 올리기 전에 실행 환경부터 확인해야 한다. LangChain은 11월 2일 공개한 langchain-core 1.7.4 릴리스에서 langchain-core 1.8.0과 langchain 1.5.0부터 Python 3.10 지원을 중단할 예정이라고 밝혔다. Python 3.11 이상으로 올리라는 안내도 함께 실었다.

지금 설치된 버전은 어떻게 되나

지원 중단은 예정된 후속 버전에 적용된다. 현재 1.7.4가 곧바로 Python 3.10 지원을 잃는다는 뜻은 아니다. PyPI의 1.7.4 메타데이터에는 Python 요구사항이 >=3.10.0, <4.0.0으로 표시돼 있다. 공식 릴리스는 현재 마이너 버전 계열이 3.10을 지원하는 마지막 계열이라고 설명한다. 후속 버전의 출시일은 해당 릴리스에서 확인되지 않았다.

1.7.4 자체에는 Anthropic 변환기가 메시지 내용을 변경하지 않도록 하는 수정도 포함됐다. 릴리스 노트에 기재된 변경이며, 모든 Anthropic 연동 문제를 해결한다는 의미는 아니다.

운영 중인 프로젝트에서 확인할 것

우선 로컬 개발 환경뿐 아니라 CI, 컨테이너 이미지, 배포 서버의 Python 버전을 함께 확인하자. python --version과 패키지 관리자나 잠금 파일의 langchain, langchain-core 버전이 출발점이다. 직접 설치하지 않은 langchain-core도 다른 패키지의 의존성으로 들어올 수 있으므로 의존성 트리도 살펴볼 만하다.

Python 3.11 이상으로 이전할 때는 새 가상 환경에서 의존성을 다시 해결하고 테스트를 실행하는 편이 안전하다. 모델 호출, 도구 실행, 구조화 출력처럼 서비스가 실제로 쓰는 경로를 확인하고 CI와 배포 이미지에도 같은 버전을 반영하자. 연동 패키지와 다른 라이브러리의 호환성은 각 프로젝트에서 따로 검증해야 한다.

당장 런타임을 올리기 어렵다면 현재 호환 버전의 잠금 파일을 유지하면서 전환 계획을 세울 수 있다. 버전 고정은 보안 업데이트나 향후 호환성 문제를 자동으로 해결하지 않으므로 정기적으로 검토해야 한다. 이번 발표는 지원 종료 예고이며, 실제 설치와 애플리케이션 동작은 이 글에서 독립적으로 시험하지 않았다.

Discussion

No comments yet