
사용할 일이 있어 맥(macOS)에 설치된 파이썬의 상태를 확인해봅니다.
$python -V
Python 2.7.16파이썬(Python) 2는 2020년 1월 1일로 공식적으로 지원 종료되었네요.
Python 2.7 will retire in... 0Years 0Months 0Days 0Hours 0Minutes 0Seconds
pythonclock.org
파이썬(Python) 3를 설치합니다.
$brew install python
파이썬(Python) 3의 버전을 확인합니다.
$python3 -V
Python 3.8.2파이썬(Python)의 버전구분
| 파이썬(Python) 2 | 파이썬(Python) 3 | |
| 파이썬(Python) 커맨드 | $python | $python3 |
| 패키지설치 | $pip | $pip3 |
현재는 두개의 파이썬(Python) 버전 뿐인데 각 버전의 파이썬(Python)의 마이너 버전을 사용하고 싶을때 pyenv 패키지를 이용해서 관리가능하다고 합니다만 개인적으로는 가상환경이 좋아보입니다.
파이썬(Python)의 가상환경설정
| 파이썬(Python) 2 | virtualenv 패키지를 설치해서 구성 |
| 파이썬(Python) 3 | 내장된 venv모듈을 사용해 구성 |
파이썬(Python) 3 로 설정해봅니다.
프로젝트의 디렉터리를 작성, 작성한 디렉터리로 이동합니다. (가상환경으로 묶일단위)
$mkdir myProject $cd myProject
가상환경을 작성합니다.
$python3 -m venv .venv
.venv로 해주는 것이 관행이라고 합니다.
그런데 위의 명령을 실행 후에 확인해보면 아무것도 보이지 않습니다.
한참을 잘못되었나 싶었는데 숨김 디렉터리로 작성이 되어 보이지 않았던 것이었습니다.
숨김 디렉터리, 파일 보기
| Finder | shift + command + . |
| Terminal | ls -a |
가상환경을 활성화합니다.
$. .venv/bin/activate (.venv)$
.커맨드대신 source를 사용해도 된다고 합니다.
which커맨드로 사용되고 있는 파이썬(Python) 인터프리터를 확인합니다.
(.venv)$which python /----프로젝트 디렉터리 경로 ----/.venv/bin/python
가상환경내의 파이썬(Python) 이 사용되고 있습니다.
버전을 확인해봅니다.
(.venv)$python -V
Python 3.8.2python으로 파이썬(Python) 3의 커맨드 사용이 가능합니다.
일단 가상환경을 비활성화합니다.
(.venv)$deactivate
문제가 발생합니다.
$python3 -m venv .venv 의 가상환경 작성 시 파이썬(Python)의 버전을 설정가능할 줄 알았는데 로컬 환경의 버전이 그대로 적용됩니다. 대안으로 가상환경 안에서 파이썬(Python)의 버전을 바꿔볼까했는데 이것도 간단하지 않습니다.
어쩔 수 없이 pyenv 패키지를 이용해야 할 것 같습니다.
파이썬(Python)의 버전관리
pyenv패키지를 설치합니다. Homebrew를 이용합니다.
$brew install pyenv
Homebrew의 업데이트가 필요할 수 있습니다. (필요한 경우 자동으로 업데이트됩니다만 엄청난 시간이 걸릴 수 있습니다. )
파이썬(Python) 3도 같이 업데이트 되었습니다.
$python -V
Python 3.8.6.bash_profile에 pyenv활성화 스크립트를 추가하고 변경사항을 적용합니다.
(shell관련해서는 다시 연구를 해야겠습니다. 일단 설명대로 실행합니다.)
$echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$exec "$SHELL"
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.갑자기 국어공부
"대로" or "데로"
대로 -> 상태
데로 -> 장소
설명대로 (설명의 상태)
깊은데로 가지마 (깊은 장소)
pyenv versions커맨드로 설치되어있는 파이썬(Python)의 버전을 확인합니다.
$pyenv versions * system (set by /Users/--유저명--/.pyenv/version)
파이썬(Python)이 pyenv아래에서 관리됩니다.
파이썬(Python) 3.7.6 버전을 설치하고 pyenv versions커맨드를 다시 실행해봅니다.
$pyenv install 3.7.6
$pyenv versions
* system (set by /Users/--유저명--/.pyenv/version)
3.7.6system(Python 3.8.6) 과 3.7.6 두개가 표시됩니다.
3.7.6버전으로 바꿔봅니다.
$pyenv global 3.7.6
$pyenv versions
system
* 3.7.6 (set by /Users/--유저명--/.pyenv/version)
$python3 -V
Python 3.7.6제대로 변경되었습니다.
이제 venv로 Python 3.7.6의 버전으로 가상환경을 설정해봅니다.
$mkdir myProject3.7.6
$cd myProject3.7.6/
$python3 -m venv .venv
$ . .venv/bin/activate
(.venv)$ python -V
Python 3.7.6
성공했습니다.
요약하면 아래와 같습니다.
| venv | 프로젝트단위로 다른 패키지를 설치할때 사용하는 가상환경 |
| pyenv | 프로젝트단위로 다른 버전의 Python을 사용할때 사용하는 버전관리 |
오늘도 많은 것을 배웠습니다.
댓글 없음:
댓글 쓰기