LangChain 환경설정

Python 개발 환경 구축하기

LangChain 실습을 위한 Python 개발 환경 설정 가이드

AI
RAG
LangChain
저자

Kwangmin Kim

공개

2025년 01월 02일

1 환경설정

1.1 Windows 환경 설정

1.1.1 git 설치

  • 실습 코드를 GitHub에서 다운로드하고 버전 관리를 위해 필요
  • 64-bit Git for Windows Setup 다운로드: https://git-scm.com/download/win
  • add a git bash profile to windows terminal 옵션 선택
  • powershell 관리자 권한으로 실행
  • 다음의 명령어를 입력하여 정상 동작하는지 확인
git --version # or
git

1.1.2 PowerShell Policy 적용

  • Windows에서 PowerShell 스크립트 실행을 허용하기 위해 필요
  • 기본적으로 Windows는 보안상 외부 스크립트 실행을 제한하는데, pyenvpoetry 같은 도구들이 PowerShell 스크립트를 사용하므로 이 제한을 해제해야 함
  • Window 키 - PowerShell 을 반드시 관리자 권한으로 실행
  • 다음의 명령어를 입력하여 Policy 를 적용
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
  • 적용이 완료된 후 Windows PowerShell 을 껐다가 킨다
  • 아래의 진행을 위하여 Windows PowerShell 실행시 “관리자 권한으로 실행”

1.1.3 pyenv 설치

  • pyenv 설치
git clone https://github.com/pyenv-win/pyenv-win.git "$env:USERPROFILE\.pyenv"
  • 여러 Python 버전을 관리하기 위한 도구
  • pyenv는 배포자가 만든 가상환경이 아니라, Python 버전 관리 도구
  • LangChain은 특정 Python 버전(3.11)에서 최적으로 동작하며, 시스템에 설치된 기본 Python과 충돌 없이 원하는 버전을 사용할 수 있게 해줌
  • 주의: pyenv는 Python 인터프리터 버전만 관리하며, 가상환경과 패키지 관리는 Poetry가 담당
  • pyenv: Python 인터프리터 버전 관리 (3.8, 3.9, 3.11 등)
  • 가상환경 도구: venv, virtualenv, Poetry, conda 등이 패키지 격리 담당
  • 실제 작업 흐름:
    • pyenv로 Python 3.11 설치 및 선택
    • Poetry로 해당 Python 버전 기반의 가상환경 생성 + 패키지 관리

1.1.4 환경변수 추가

  • pyenv가 시스템 어디서든 실행될 수 있도록 PATH 환경변수에 pyenv 경로를 추가해야 터미널에서 pyenv 명령어를 사용할 수 있음

아래의 내용을 복사하여 붙혀넣기 후 실행

[System.Environment]::SetEnvironmentVariable('PYENV', $env:USERPROFILE + "\.pyenv\pyenv-win\", "User")
[System.Environment]::SetEnvironmentVariable('PYENV_ROOT', $env:USERPROFILE + "\.pyenv\pyenv-win\", "User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME', $env:USERPROFILE + "\.pyenv\pyenv-win\", "User")

아래의 내용을 복사하여 붙혀넣기 후 실행

[System.Environment]::SetEnvironmentVariable('PATH', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('PATH', "User"), "User")

현재의 Windows PowerShell 을 종료 후 다시 실행

  • pyenv 를 입력하여 정상 동작하는지 확인
pyenv

1.1.5 파이썬 설치

  • LangChain과 관련 패키지들이 안정적으로 동작하는 Python 3.11 버전을 설치
  • 최신 버전보다는 검증된 안정 버전을 사용하여 호환성 문제를 방지
  • 파이썬 3.11 버전 설치
pyenv install 3.11
  • 3.11 버전의 python 설정
pyenv global 3.11 # 시스템의 기본 Python 버전을 3.11로 설정
  • 파이썬 버전 확인
python --version
  • 3.11.9 버전이 설치되어 있나 확인 (혹은 3.11.11 버전으로 설치되어도 무방)

1.1.6 Poetry 설치

  • LangChain 실습을 위해 수 많은 패키지를 설치해야하는데 각 패키지들의 dependency 관리가 매우 복잡
  • Poetry는 패키지 의존성을 자동으로 해결하고 가상환경을 관리해주어 패키지 충돌 문제를 방지
  • 배포자가 편의를 위해 Poetry를 사용하여 dependency 관리가 끝난 자료 배포
  • Poetry가 conda보다 더 정밀한 패키지 의존성 관리 제공
  • 현대적인 Python 패키지 관리 방식
  • conda vs pyenv+Poetry 비교:
    • conda: Python 버전 관리 + 패키지 관리 통합 도구 (주로 데이터 사이언스용)
    • pyenv + Poetry: Python 버전 관리(pyenv) + 패키지 관리(Poetry) 분리
    • Poetry는 pyproject.tomlpoetry.lock 파일로 더 정밀한 의존성 관리 제공
  • 아래의 명령어를 실행하여 Poetry 패키지 관리 도구를 설치
pip3 install poetry==1.8.5

1.1.7 실습코드 실행

  • LangChain 학습을 위한 예제 코드와 실습 자료를 다운로드하여 실제 개발 환경을 구축
  • 실습코드 링크
  • 도큐먼트(Documents) 폴더로 이동
cd ~/Documents
  • 아래의 명령어를 실행하여 소스코드를 받는다
git clone https://github.com/teddylee777/langchain-kr.git
  • 아래의 명령어를 실행하여 langchain-kr 디렉토리로 이동
cd langchain-kr
  • 파이썬 가상환경 설정
poetry shell
  • 파이썬 패키지 일괄 업데이트
poetry update

1.1.8 Visual Studio Code 설치

  • Python 개발과 Jupyter 노트북 실행에 최적화된 통합 개발 환경(IDE)을 제공
  • 코드 편집, 디버깅, 패키지 관리를 한 곳에서 할 수 있음
  • Visual Studio Code 다운로드
  • 다운로드 링크: https://code.visualstudio.com/download
  • 다운로드 받은 Visual Studio Code 를 설치 (Applications 폴더에 복사)
  • 왼쪽 install extensions 클릭
    • “python” 검색 후 설치
    • “jupyter” 검색 후 설치
  • Visual Studio Code 껐다가 재실행
  • 우측 상단 “select kernel”
    • python environment 클릭 - 설치한 가상환경이 안뜬다면 Visual Studio Code 껐다가 재실행

Subscribe

Enjoy this blog? Get notified of new posts by email: