실습 환경
- MacBook Air (M1, 2020)
- macOS Monterey 12.1
전제 조건
- 리눅스 커맨드에 친숙함.
- 파이썬에 대해 어느정도 이해하고 있음.
- macOS에 구축하고 싶음.
macOS에서 파이썬 설치
macOS는 기본적으로 python2가 설치되어 있다.
python3를 설치하기 위해서는 brew
명령어로 설치하면 된다.
우선 HomeBrew에서 python3의 버전이 몇 인지 검색해보자.
1 | % brew info python3 |
stable 버전의 파이썬 3.9.x이 설치된다는 것을 알 수 있다.
우선 3.9.x 버전의 파이썬을 설치해보자.
1 | % brew install python3 |
pyenv - 파이썬 버전 관리 도구
최신 버전의 파이썬은 3.10.1 이다.
물론 brew install python@3.10
으로 설치할 수 있지만,
파이썬만을 위한 전문적인 버전 관리 도구를 사용하고자 한다.
pyenv는 Node.js의 nvm이나 n 패키지와 비슷한 프로그램이다.
자, 한번 pyenv를 설치해보자.
1 | % brew install pyenv |
설치가 완료되었으면 설치 가능한 파이썬 버전을 확인해보자.
그냥 출력하면 너무 많으니, 3.10.x 버전만 나오게 해보자
1 | % pyenv install --list | grep 3.10. |
이중에서 3.10.1 버전을 설치하자.
1 | % pyenv install 3.10.1 |
정상적으로 설치되었는지 확인해보자.
1 | # 현재 pyenv로 설치된 파이썬 버전 목록 |
pyenv로 설치가 되었으나 선택이 되어 있지 않은 모습이다.
여기서 알 수 있는 점은 system은 brew로 설치한 버전이라는 것이다.
system을 3.10.1로 변경해보자.
1 | % pyenv global 3.10.1 |
pyenv상에서 설정은 변경되었으나, 여전히 커맨드 python3는 업데이트 되지 않았다.
아직 환경 변수가 설정되지 않았기 때문이다.
.zshrc에 환경 변수를 설정해줘야한다.
1 | % echo 'eval "$(pyenv init --path)"' >> ~/.zshrc |
위 커맨드를 입력하면 스트림을 통해 환경 변수가 .zshrc에 입력된다.
.zshrc를 다시 불러오자.
1 | % source ~/.zshrc |
정상적으로 파이썬 버전이 변경되었다.
앞으로는 pyenv global [version]
커맨드로 변경하면 즉시 반영된다.
또한 python
에 대한 alias도 되었을 것이다.
1 | % python --version |
pyenv-virtualenv - pyenv virtulenv 플러그인
위에서 잠깐 언급된 miniconda처럼 자신만의 가상 환경을 세팅해두고 버전 스위칭을 하고 싶으면 어떻게 해야할까?
pyenv를 위해 제작된 virtualenv 플러그인을 설치하면 된다.
1 | % brew install pyenv-virtualenv |
역시 환경 변수 설정이 필요하다.
1 | % echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc |
우선 전역에 numpy라는 패키지를 설치한 적 없으니 해당 커맨드를 입력해보자.
1 | % python -c 'import numpy' |
numpy를 찾을 수 없다. (당연히 설치를 안했으니…)
그렇다면 numpy가 기본적으로 설치되어 있는 가상환경을 만들어보자.
1 | % pyenv virtualenv myvenv # 생성 |
그렇다. 플러그인으로 생성한 가상 환경을 하나의 버전으로 취급하는 것이다.
따라서 버전 스위칭 방법을 그대로 해주면 된다.
1 | % pyenv global myvenv |
이제 넘파이를 설치해보자.
1 | % pip install numpy |
넘파이가 설치되었다.
그리고 정말 가상 환경에만 설치되었는지 확인하기 위해 3.10.1 버전으로 스위칭한다.
1 | % pyenv global 3.10.1 |
아무것도 뜨지 않는다면 성공이다.
이제 분리된 가상 환경을 만드는데 성공했다.
이제 감이 좀 오는가?
왜 activate, deactivate를 사용하지 않는지는 여기를 참고하라.
앞으로 삭제될 기능이다!!
autoenv - 가상 환경 자동 스위칭
필요할때마다 pyenv global 혹은 pyenv local을 이용하여
일일이 파이썬 버전을 스위칭하는 일은 매우 귀찮은 일이다.
autoenv를 설치하면 자동적으로 가상환경을 스위칭 할 수 있다.
설치와 함께 환경 변수까지 설정해준다.
1 | % brew install autoenv # virtualenv 자동 실행 |
이제 어떤 프로젝트 하나가 있다고 가정하고 디렉터리를 만든 뒤 .env
파일을 생성하자.
그리고 중요한 것이 .env
파일의 내용은 pyenv local [venv_name]
이 되야한다.
이유는 아래의 주석을 잘 읽어보시길!
1 |
|
간단하게 요약 (한방에 설치)
1 | brew install pyenv # pyenv 설치 |
즐거운 파이썬 하시길!