Pyenv
Simple Python Version Management: pyenv.
How to install
Simple usage
pyenv versions ## 설치된 버전 목록
pyenv install --list ## 설치 가능한 버전 목록
pyenv install 3.9.11 ## 3.9.11 버전 설치
pyenv uninstall 3.9.11 ## 3.9.11 버전 삭제
pyenv virtualenv 3.9.1 py39 ## 3.9.11 버전을 기반으로 py39 라는 가상환경 설치 (`pyenv install 3.9.11` 이 선결되어야 한다)
Commands
서브 명령 | 설명 |
local | 현재 디렉터리에 python 버전 확인 및 python 버전 지정 |
global | 전역으로 설정된 python 버전 |
shell | shell에 파이썬 버전을 지정 |
install | python-build를 이용하여 파이썬 버전을 설치 |
uninstall | 지정한 버전의 파이썬을 삭제 |
version | 현재 활성화된 파이썬 버전 출력 |
versions | pyenv로 설치되어 이용 가능한 버전을 출력 |
which | 활성화된 파이썬 명령의 위치 출력 |
whence | 지정한 명령을 포함하는 모든 파이썬 버전 출력 |
Mac OSX
Mac OSX에서 brew를 통해, 아래와 같이 설치할 수 있다.
만약, brew로 설치된 pyenv 루트 디렉토리(참고로, 기본 디렉토리는 ~/.pyenv
이다.)를 사용할 경우 프로파일에 아래와 같이 추가해야 한다.
아래의 내용을 프로파일에 추가하면 완료된다.
물론 바로, 위 환경을 적용하고 싶다면 아래와 같이 프로파일을 불러와야 한다.
확인! |
만약, pip를 사용한 패키지 의존성까지 관리하고 싶다면 virtualenv를 설치해야 한다. |
How to build CPython with Framework support on OS X
How to build CPython with --enable-shared
How to use
아래의 명령으로 설치할 수 있는 파이선 목록을 확인할 수 있다.
INFORMATION |
파이썬 최신 버전이 없다면 |
그리고 위에서 확인한 버전명을 입력하면 설치할 수 있다.
지금 사용하는 Python 버전을 확인하고 싶을 경우 아래와 같이 입력한다.
참고로 system으로 출력될 경우, 시스템에 설치된 Python을 사용하고 있다는 의미이다.
현재 설치된 파이선 버전을 전부 보고싶다면 아래와 같이 입력한다.
Virtual Environment를 생성한다:
그리고 활성화 해준다:
비활성화 방법:
pip를 실행하여 패키지 목록을 확인해 보자.pip와 setuptools만 있어야 한다.
Update bash profile
정확한 내용은 사이트 참조. 아래 내요은 참고용으로 사용.
Troubleshooting
no such command shell
shell
명령을 찾을 수 없다1는 에러가 발생한다면 아래의 명령을 적용해야 한다.
The Python ssl extension was not compiled. Missing the OpenSSL lib?
If you have homebrew openssl and pyenv installed, you may need to tell the compiler where the openssl package is located:
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.4.3
pyenv: shell integration not enabled. Run `pyenv init' for instructions
다음과 같은 에러가 발생될 경우 대처할 수 있는 방법을 정리한다.
1. 만약 다음과 같은 코드가 ~/.bash_profile
안에 없다면 추가한다.
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
2. 스크립트로 통합할 경우 which를 사용하여 변수로 할당한 후 명령을 실행할 수 있다.
위와 같이 사용할 경우 PATH 환경변수 Export 타이밍
이후 부터 "$PYENV_EXE"
를 사용하지 말고 pyenv
로 사용해야 한다.
eval 명령을 사용함에 따라 사용하는 경로 등이 꼬여서 위와 같은 에러가 출력될 수 있다.
prompt changing will be removed from future release
Virtualenv#prompt changing will be removed from future release 항목 참조.
간단히, pyenv-virtualenv의 환경이 바뀌어서 나타나는 현상. 바꾸지 말자.
Local Download
- Pyenv-a8664a2.tar.gz
- Latest commit a8664a2
- Download: 2016-05-04
See also
- pyenv: Python 버전 관리.
- Virtualenv: Python 패키지 의존성 관리.
- autoenv: 자동 환경(Environments) 설정.
- venv: Python venv