어떤 언어든 그렇겠지만 사용하다 보면 여러 버전을 동시에 사용해야 할 때가 있습니다. 이직한 회사에서 파이썬을 사용하고 있는데요. 여기도 어떤 프로젝트는 3.6.4를 사용하고 있고, 또 어떤 프로젝트는 3.7.6을 사용하고 있더라고요. 그래서 여러 버전을 동시에 사용하고 싶어 졌습니다. 마침 회사에서 pyenv
라는 걸 사용하고 있어서 저도 사용해봤습니다.
Pyenv
는 무얼 할 수 있나요?
- 사용자별로 글로벌 파이썬 버전을 설정할 수 있어요.
(Let you change the global Python version on a per-user basis.) - 프로젝트별로 파이썬 버전을 설정할 수 있어요.
(Provide support for per-project Python versions.) - 환경변수로 파이썬 버전을 대체할 수 있어요.
(Allow you to override the Python version with an environment variable.) - 한 번에 여러 버전의 파이썬을 사용할 수 있어요.
(Search commands from multiple versions of Python at a time.)
Pyenv
설치
사용하기에 앞서 Pyenv를 설치해보겠습니다.
macOS 환경에 설치
macOS의 경우 Homebrew 통해 설치합니다
$ brew update
$ brew install pyenv
Windows 환경에 설치
Windows의 경우 두 가지 방법이 있습니다. Windows Suysystem for Linus 환경에 설치하시거나, pyenv-win
의 방법을 통해 설치하시면 되겠습니다.
Linux 환경에 설치
Windows Subsystem for Linux를 포함한 리눅스 계열은 아래 방법을 따라하시면 됩니다.
$ curl https://pyenv.run | bash
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
$ exec $SHELL
쉘 설정
이제 한 가지의 작업이 더 남아 있습니다. 쉘 설정인데요. 자주 사용하는 쉘의 설정 파일(.zshrc
, .bash_profile
, .fishrc
등)에 pyenv 설정을 집어넣어 주셔야 합니다.
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ exec "$SHELL"
다른 쉘을 사용할 경우엔 .bash_profile
을 해당 쉘의 설정 파일로 바꿔주시면 됩니다.
이제 pyenv
를 사용할 준비가 되었습니다.
pyenv
사용하기
여러 버전의 파이썬 설치하기
이제 여러 버전의 파이썬을 자유롭게 설치할 수 있습니다. 3.7.5 버전을 설치해볼까요?
$ pyenv install 3.7.5
$ pyenv versions
* system (set by /Users/flynn/.pyenv/version)
3.7.5
pyenv versions
명령어를 통해 현재 설치된 파이썬 버전들을 확인할 수 있습니다.
파이썬 버전 스위칭하기
현재 사용하고 있는 파이썬 버전을 확인하고, 방금 설치한 3.7.5 버전으로 스위칭 해봅시다.
$ python --version
Python 3.6.9
$ pyenv global 3.7.5
$ python --version
Python 3.7.5
현재 사용하고 있는 파이썬 버전을 쉽게 바꿀 수 있습니다.
프로젝트마다 사용할 파이썬 버전 지정하기
여러 프로젝트를 진행하다 보면 각 프로젝트마다 다른 버전의 파이썬을 사용하게 될 수 있습니다. 하지만 프로젝트를 열 때마다 pyenv global
명령어를 실행하는 건 귀찮기도 하고 깜빡할 수도 있죠. pyenv
를 사용하면 프로젝트마다 사용할 파이썬 버전을 지정할 수 있습니다.
프로젝트를 여신 이후에 해당 프로젝트에 맞는 파이썬 버전을 지정해보겠습니다. 저는 3.6.8버전으로 지정해보겠습니다.
$ pyenv local 3.6.8
pyenv: version `3.6.8' not installed
위 메세지는 pyenv에 3.6.8버전이 설치되어 있지 않아서 나타나는 메세지입니다. 위에서 나타난 대로 설치하고 진행하면 되겠죠? 저는 굳이 3.6.9버전이 필요한 건 아니니 3.7.5버전으로 다시 지정해보겠습니다.
$ pyenv local 3.7.5
위 명령어를 실행하면 프로젝트 루트 폴더에 .python-version
파일이 생기고, 내용에 파이썬 버전이 지정됩니다. 이제 해당 프로젝트를 열 때마다 자동으로 해당 프로젝트에서 사용할 파이썬 버전이 지정됩니다.
마치며
새 회사에서 파이썬을 주로 사용해서 파이썬엔 nvm
같은 버전 관리 도구가 없나 찾아봤는데 역시나 있어서 요즘 정말 잘 사용하고 있습니다. 사용하기도 편하고 설정만 해두면 프로젝트만 열어서 바로 작업하면 되니 정말 편하네요. 혹시 좀 더 편하고 신기한 사용 방법이 있다면 알려주세요. ㅎㅎ 오늘도 글 봐주셔서 감사합니다. 다음에는 더 좋은 글로 찾아올 수 있도록 하겠습니다. 감사합니다!
'기록' 카테고리의 다른 글
LeetCode 0002. Add Two Numbers(Python) (0) | 2021.01.22 |
---|---|
LeetCode 0001. Two Sum (0) | 2021.01.21 |
Windows Terminal 테마와 폰트 수정하기 (0) | 2020.05.29 |
NVM(Node Version Manager)으로 node.js 버전 관리하기 (1) | 2019.05.05 |
내가 사용하는 VSCode 플러그인들(VSCode 플러그인 추천) (2) | 2019.04.21 |