개발/Python

[Python] pip, virtualenv, pipenv 란?

Dane.Kim 2021. 11. 8.
  • pipenv 란?또 virtualenv를 이용하면 프로젝트별로 고립된 개발환경을 구축하게 해주기 때문에 패키지를 각각의 환경에 맞게 이용하며 개발할수 있게 된다.-특징
    • pip와 virtualenv를 따로 쓸 필요가 없다. 동시에 사용이 된다.
    • Pipenv는 Pipfile와 Pipfile.lock을 requirements.txt를 대신하여 사용한다.
    • 해쉬가 자동생성된다. (보안)
    • 의존성 그래프를 제공함으로서 insight를 제공한다 (e.g. $ pipenv graph).
    • .env 파일들을 사용한 스트림라인 개발 워크플로우
    -기능
    • 필요한 것만 정의하면서, 결정론적인(deterministic, 파일에 정의된대로) 빌드가 가능하다.
    • 락이 걸린 의존성에 대해 해쉬 파일을 생성하고 확인한다.
    • pyenv가 사용 가능하다면, 필요한 python도 자동으로 설치한다.
    • Pipfile을 찾으면서자동으로 프로젝트 홈을 찾아준다.
    • Pipfile이 없다면 자동으로 생성해준다.
    • 자동으로 virtualenv 환경을 생성한다.
    • 패키지를 설치/삭제하면, 자동으로 Pipfile에서 추가/삭제한다.
    • 자동으로 .env 파일을 인식한다.
  • 이 편리한 점들은 그러나 귀찮음이라는 점이 동반된다. 이름에서도 느껴지듯 pipenv는 pip와 virtualenv를 합친 것이다.
  • 먼저, pip는 뭘까. pip는 python을 이용하며 사용하게 되는 패키지 관리 툴이다. 프로그램을 만드는데 다양한 패키지를 사용하게되는데 이때 pip를 활용하여 여러가지 패키지들을 설치할 수 있다.
  • Lambda 키워드, 함수
    • 일회용 함수, 익명 함수
    • 변수에 바인딩하면 일반 함수처럼 사용가능 (반복 사용가능)
    • return 문만 있는 함수

댓글