-
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 같은 패키지 관리자를 사용하여 패키지 목록 까지 관리 해주면 더욱 환경 세팅 하기 좋을 것이다.
반응형'프로그래밍 > Python' 카테고리의 다른 글
Alembic 사용법 (python data migrations) (0) 2024.05.05 python 패키지 관리를 위한 poetry 패키지 매니저 활용법 (0) 2024.05.04 python property 사용하기 (0) 2022.03.12 [python] return에서 or/and 연산자 사용법 (0) 2021.06.17