OS(macOS, Ubuntu)별 설정법 참조

  • 왜 필요한가?

    • 여러 프로젝트를 동시에 진행하면 다양한 버전을 사용하게 되기 때문에 파이썬 버전을 분리해서 사용해야 한다. 이때 pyenv라는 파이썬 버전 관리 시스템을 사용한다.
    • pyenv-virtualenv는 pyenv와 밀접하게 사용할 수 있는 패키지이다. 가상환경은 프로젝트 각각에 설치된 패키지들 사이의 충돌을 막아 주기 위해 필요하다.
  • 명령어를 입력하고 명령 수행이 완료된 것처럼 보여도 실제로는 적용되지 않는 경우가 있다. 꼭 확인해 보도록 하자.

설정 순서


  1. pyenv, pyenv-virtaulenv 설치

  2. 설치 후 pyenv 설정을 shell 설정 파일에 추가

    • 정상적으로 pyenv, pyenv-virtualenv가 동작할 수 있기 위해 필요한 과정이다.
  3. 2번까지의 과정을 완료 후 시스템 전역에서 사용할 파이썬 설정

    • pyenv install --list를 입력하면 설치 가능한 파이썬 버전을 알 수 있다.

    • pyenv install <version>으로 원하는 버전을 설치한다.

    • pyenv versions를 입력하면 pyenv로 현재 자신의 시스템에서 관리되는 파이썬 버전들을 볼 수 있다.

      • ~/.pyenv/versions에서도 확인 가능하다.
    • pyenv global <version>을 입력하면 해당 version을 시스템 전역에서 사용하게 된다.

  4. pyenv-virtaulenv를 사용한 가상환경 관리

    • pyenv virtualenv <version> <env_name>을 입력하면 가상환경을 생성할 수 있다.

      • 시스템에 어느 위치에서 생성하든 상관없다.
    • 생성한 가상환경을 프로젝트 폴더와 연결한다.

      • 가상환경은 프로젝트 폴더 단위로 구분해서 사용한다.
      • 프로젝트 모음 폴더->프로젝트 폴더1, 프로젝트 폴더2, ... 같은 방식으로 관리하는 게 좋다.
      • 가상환경을 지정할 프로젝트 폴더를 생성했다면, 해당 폴더로 들어가 pyenv local <env_name>을 입력하면 가상환경이 적용된다.
      • 가상환경이 적용되면 프롬프트 좌측에 적용된 가상환경의 이름이 표시된다. 프로젝트 폴더에서 pyenv versions을 입력해도 확인할 수 있다.
      (env_example) ~/projects/project_example$
  5. 마치며

pyenv_pyenv_virtualenv.JPG

모든 과정이 끝난 후의 모습을 그림으로 나타내면 다음과 같다. 위에서 ~/.pyenv/versions에서도 pyenv로 자신의 시스템에서 관리되는 파이썬 버전들을 볼 수 있다고 언급했는데, 가상환경 설정을 끝내고 다시 위의 경로로 들어가면 만든 가상환경이 가상환경을 만들 때 정한 파이썬 버전으로 관리되고 있음음 알 수 있다.

예를 들어, env_example이라는 이름으로 가상환경을 만들었다면 ~/.pyenv/versions로 들어가서 해당 폴더에 존재하는 파일을 확인했을 때 다음과 같은 것을 볼 수 있을 것이다.

스크린샷, 2019-09-30 12-33-15.png

  1. (추가) pycharm 사용하기
    vim 대신 파이썬 IDE(Integrated Development Environment)인 pycharm을 이용한다. pycharm 설치 후 프로젝트 폴더를 연다. 다음과 같은 화면을 볼 수 있을 것이다.

스크린샷, 2019-09-30 14-26-14.png

이제 file -> settings -> project: 프로젝트 폴더명으로 들어가 보자. Project interpreter가 터미널에서 프로젝트 폴더에 연결해 준 가상환경이어야 하는데, 아닌 경우가 있다. 이때는 project interpreter를 변경해 주어야 한다.

스크린샷, 2019-09-30 14-43-50.png

Project interpreter 반대편의 톱니바퀴를 누르고 Show all을 선택한다.

스크린샷, 2019-09-30 14-44-19.png

+ 버튼을 눌러 interpreter를 추가한다.

스크린샷, 2019-09-30 14-44-53.png

Existing environment에 프로젝트 폴더에 지정한 가상환경이 보인다. OK를 눌러 추가하고 interpreter를 변경한다.