[python] pyenv? virtualenv?

0

참고자료

파이썬 가상환경

  • 가상환경이란 자신이 원하는 python 환경을 구축하기 위해 필요한 모듈만 담아 놓는 바구니라고 생각하면 쉬움
  • 하지만 각 모듈은 다른 모듈에 대한 의존성이 다르기 때문에 마구 잡이로 설치하다모면 이유 모를 충돌이 날 수 있음
  • 같은 모듈을 사용한다고 하더라 다른 버전을 필요로 한다거나 각 개발 환경마다 다른 파이썬 버전을 사용해야 할 떄가 있음
  • 이러한 이유들로 가상환경을 사용하면 매우 편리함

pyenv

  • 다양한 파이썬 버전을 설치하고 사용할 수 있음
  • pyenv를 통해 파이썬 버전에 대한 의존성 문제를 해결 가능

virtualenv

  • 로컬에 다양한 파이썬 환경을 구축 할 수 있음
  • pyenv와 virtualenv는 바늘과 실같은 존재
  • pyenv로 파이썬을 버전별로 설치할 수 있는 라이브러리라면 virtualenv는 파이썬 패키지 환경을 관리

pyenv & virtualenv 명령어

  • pyenv version : 현재 사용할고 있는 파이썬 버전 확인
  • pyenv versions: 로컬에 설치되어 있는 파이썬 리스트 확인
  • pyenv install <파이썬 버전>: 파이썬 설치
  • pyenv global <파이썬 버전>: 전역으로 파이썬 버전 설정
  • pyenv virtualenv <가상환경 이름>: 가상환경 생성
  • pyenv uninstall <가상환경 이름>: 가상환경 삭제
  • pyenv shell <가상환경이름> or pyenv activate <가상환경이름>: 가상환경 실행
    • shell은 python 버전과 virtualenv 모두 사용가능한 명령어
    • activate는 virtualenv에서만 사용가능한 명령어
  • pyenv deativate <가상환경이름>: 비활성화

tip!

  • 맥 os에서 pyenv로 python 설치 시에 에러발생
  • CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.6.5 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

0개의 댓글