pipenv란?
pipenv는 Python에서 개발 환경을 구축하는 데 유용한 패키지 관리 도구입니다. npm과 yarn과 같은 패키지 관리 도구의 파이썬 버전과 같습니다.
또한 가상 환경을 구축할 수 있습니다. 가상 환경을 만들면 어떤 이점이 있는가 하면 프로젝트마다 다른 버전의 Python을 사용할 수 있거나 패키지 등도 프로젝트별로 관리할 수 있습니다.
pipenv 설치
첫째, pipenv를 설치하는 방법입니다.
이번 pipenv의 설치에는 Homebrew 에서 갑니다. 아직 Homebrew 를 설치 하지 않은 분은, 여기서 다운로드 해주세요. [homebrew]
이제 다음 명령을 실행합니다.
$ brew install pipenv
이제 pipenv가 설치 됩니다. 다음 명령 으로 확인해 봅시다.
$ pipenv --version
pipenv, version 2020.11.15
이 방법으로 버전이 표시되면 설치가 완료됩니다.
pipenv로 프로젝트 초기화
계속해서 pipenv를 사용하여 프로젝트를 초기화합니다.
하나의 프로젝트를 만들어 봅시다.
그러면 "testproject"라는 디렉토리를 만들고 그 디렉토리로 이동합니다.
$ mkdir testproject
$ cd testproject
자, 이번에는 Python은 3.11.2 버전을 사용하겠습니다.
이제 다음 명령을 실행합시다.
$ pipenv --python 3
Creating a virtualenv for this project...
이제 Python3에서 개발하기위한 프로젝트를 초기화할 수 있었습니다.
물론 버전을 지정할 수도 있습니다.
$ pipenv --python 3.11.2
Creating a virtualenv for this project...
이때 pyenv와 asdf가 설치 되어 있다면, Mac에 설치되어 있지 않은 버전의 파이썬을 선택하게 되면 자동으로 그 버전이 같이 설치됩니다.
다음 명령으로 확인해 보겠습니다.
$ pipenv run python -V
Python 3.11.2
여기서 python명령은 pipenv run 뒤에 입력해야 합니다.
이제 Python3의 최신 안정 버전인 3.11.2를 사용할 수 있게 되었습니다.
pipenv와 pyenv를 결합하여 사용
pipenv는 pyenv와 함께 사용하면 매우 편리합니다. 무려, 사용하고 싶은 버전을 지정하는 것만으로, 인스톨 까지 자동으로 행해 줍니다.
시도에 3.9.1 버전을 지정해 보겠습니다.
우선 pyenv나 asdf가 설치 되어 있지 않을 때의 경우입니다.
$ pipenv --python 3.9.1
Warning: Python 3.9.1 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
Neither 'pyenv' nor 'asdf' could be found to install Python.라는 오류가 표시되었습니다.
pyenv가 설치된 경우입니다.
$ pipenv --python 3.9.1
Warning: Python 3.9.1 was not found on your system...
Would you like us to install CPython 3.9.1 with Pyenv? [Y/n]: Y
Installing CPython 3.9.1 with /opt/homebrew/bin/pyenv (this may take a few minutes)...
Success!
이런 방법으로 Python 3.9.1이 설치되었습니다.
이제 다음 명령으로 확인해 봅시다.
$ pipenv run python -V
Python 3.9.1
안전하게 파이썬 3.9.1이 사용되었습니다.
Python 3.11.2로 되돌리려면 다음 명령을 실행합니다.
$ pipenv --python=3.11.2
Virtualenv already exists!
Removing existing virtualenv...
Creating a virtualenv for this project...
......
$ pipenv run python -V
Python 3.11.2
가상 환경으로 이동하는 방법과 빠져나오는 방법
이제 여기까지 각 버전의 python명령을 실행할 수 있게 되었습니다만, 매번 pipenv run을 입력하는 것은 힘들 것입니다.
그러나 가상 환경으로 들어가면 마치 Mac에 그 버전이 설치 되어있는 것처럼 사용할 수 있습니다.
그럼 가상 환경 속에 들어가 보도록 합시다!
$ pipenv shell
Launching subshell in virtual environment...
이제 가상 환경에 들어갈 수 있었습니다.
python명령을 입력해 보겠습니다.
$ python -V
Python 3.11.2
방금 초기화할 때 지정한 버전의 Python을 사용할 수 있습니다.
그럼 가상 환경에서 빠져나와 봅시다.
$ exit
Saving session...
이제 가상 환경에서 벗어날 수 있었습니다.
빠져나온 뒤에, python -V 실행하면 Mac 에 원래 포함된 버전이 표시됩니다.
$ python -V
Python 2.7.16
이상 pipenv를 이용하는 방법에 대해서 알아보았습니다.