ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python pyenv로 가상화 환경 만들기
    프로그래밍/Python 2024. 5. 4. 19:20
    반응형

    pyenv란?

    먼저 프로젝트 진행 시에 다양한 프로젝트를 개발 하는 경우가 많다. 그럴 때 마다 상황에 맞는 python 버전을 가지고 대응해야 하는데, 하나의 python 버전만 가지고는 많은 프로젝트를 한 컴퓨터에서 진행하기란 어간 쉬운 일이 아니다. 한 프로젝트는 python 3.11 한 프로젝트는 python 3.5버전을 가졌다면, 내장 함수 부터 호환 되는 라이브러리 들이 다 엉켜 있다. 이럴 때 가상화 환경을 사용하여 여러 환경에 대응되는 패키지를 관리하게 되는데 이때 pyenv를 사용하면 좋다

    pyenv는 system > global > local > pyenv shell로 layer를 가진다. Layer기반으로 범위가 낮아짐으로 system python은 최상위 버전을 아래로 갈 수 록 낮아지면서, 프로젝트에 맞게 설정하면 된다. 그림으로 보면 조금 이해하기 힘들 수도 있는데, 바로 실습을 해보자

    pyenv 설치

    window는 https://github.com/pyenv-win/pyenv-win 여기에서 설치가 가능하다.

    mac은 아래 코드 실행 하면 된다.

    brew install pyenv pyenv-virtualenv
    

    pyenv Local 환경 설정

    설치 되었는지 먼저 확인을 해주자

    # pyenv 버전 확인
    pyenv
    # pyenv 3.1.1
    

    pyenv 환경 다운로드

    pyenv는 환경에 맞게 다운로드 해야 python 환경을 사용할 수 있다.

    # pyenv install 할 수 있는 환경 리스트 확인
    pyenv install -l
    :: [Info] ::  Mirror: <https://www.python.org/ftp/python>
    (중략)
    3.6.0rc1-win32
    (중략)
    3.10.4
    (중략)
    3.13.0a5
    
    # pyenv python3.10.4 환경 다운로드
    pyenv install 3.10.4
    :: [Info] ::  Mirror: <https://www.python.org/ftp/python>
    :: [Downloading] ::  3.10.4 ...
    :: [Downloading] ::  From <https://www.python.org/ftp/python/3.10.4/python-3.10.4-amd64.exe>
    :: [Downloading] ::  To   C:\\Users\\USER\\.pyenv\\pyenv-win\\install_cache\\python-3.10.4-amd64.exe
    :: [Installing] ::  3.10.4 ...
    :: [Info] :: completed! 3.10.4
    

    pyenv global, local 환경 나누기

    자 이제 global 다른 프로젝트 공통 python(3.11) 버전 설정과, python local로 python(3.10) 버전을 나눠 보겠다

    # python version 깔려 있는 목록 확인
    pyenv versions
      system
      3.10.4
    * 3.11.9 (set by C:\\Users\\USER\\.pyenv\\pyenv-win\\version)
    
    # global python 버전 설정
    pyenv global 3.11.9
    
    # local python 버전 설정
    pyenv local 3.10.4
    # 이렇게 하면 폴더 안에 .python-version이 생성이 된다.
    
    # python version 어떤것으로 설정 되었는지 확인다시 확인
    # set by를 보면 .python-version 파일을 바라 보는 것을 확인 할 수 있다.
    pyenv versions
    * 3.10.4 (set by C:\\dev\\lms2\\.python-version)
      3.11.9
    

    Pyenv 마치며

    이렇게 하면 상황에 맞는 python 버전을 설정 할 수 있다. 여기서 끝이 아니라 poetry, miniconda 같은 패키지 관리자를 사용하여 패키지 목록 까지 관리 해주면 더욱 환경 세팅 하기 좋을 것이다.

    반응형

    댓글

Designed by Tistory.