python 개발 환경, 버전, 패키지 관리

냉동만두·2022년 3월 14일
0
post-thumbnail

개요

문제

python 을 사용 하다 보면 피곤한 경우가 있다.

  • 필요한 패키지를 설치 하다보면 특정 패키지가 어디서 필요한 지 추적이 어렵다
  • 어떤 패키지를 삭제 했을때, 다른 개발 프로젝트, 앱에서 에러가 날 때가 있다
  • 여러 사용자가 하나의 서버를 사용 하면 패키지 의존성이 꼬인다
  • python interpreter를 버전별로 설치가 할 수 있다
  • 프로젝트 별로 독립된 site-package를 관리 할 수 있다면, 피곤한 경우를 해결 할 수 있다

요구 사항

  • IDE에서 프로젝트 별로 python, site-package 독립 사용 하고 싶다
  • 로컬 파이썬 인터프리터가 지정 되어 있는 디렉토리로 이동 하면,
    자동으로 그 버전을 사용 할 수 있도록 shell profile도 지원 해주면 좋겠다

관련 툴을 몇개 찾아보고 주관적으로 제일 간편해서 사용중인 pyenv !

설치

설치, 간단 사용법은 MacOS / brew 기준이고, ubuntu, centos도 패키지 관리자를 통하여 설치가 가능 하다.

https://github.com/pyenv/pyenv
python 인터프리터를 버전별로 관리 하기

pyenv-virtualenv
https://github.com/pyenv/pyenv-virtualenv
site-package를 프로젝트별로 관리 하기

설치

brew install pyenv
brew install pyenv-virtualenv

shell profile 설정

vi ~/.bash_profile

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

사용

예시)
python 3.6을 사용하며 독립적인 site-package를 사용 하는 good_project_py36 라는 파이썬 프로젝트를 구성 한다

python interpreter 생성

파이썬 인터프리터 설치

pyenv install --list
pyenv install 3.6.10

virtualenv가상 환경 생성

python 3.6을 사용하는 good_project_py36 이름의 가상 환경 생성

pyenv virtualenv 3.6.10 good_project_py36

가상 환경 할당

good_project_py36 프로젝트 디렉토리의 파이썬은 good_project_py36 으로 바인딩

mkdir good_project_py36
cd good_project_py36
pyenv local good_project_py36

가상 환경 파이썬 확인

(good_project_py36) $ python --version
Python 3.6.10

프로젝트 파이썬 경로

$PYENV_ROOT/versions/good_project_py36

마무리

python 3.6 인터프리터를 설치 -> python 3.6 인터프리터를 사용하는 good_project_py36 가상 환경 구성 -> 프로젝트에 가상 공간 할당 까지 한것이다.

이제 프로젝트별로 필요한 패키지를 설치/삭제 해도 다른 파이썬 또는 가상 환경에 영향을 주지 않는다.

eof

profile
전자렌지 4분30초

0개의 댓글

관련 채용 정보