pyenv?
pyenv
는 하나의 시스템에서 여러 다양한 버전의 Python 을 관리하기 위한 관리 도구이다.
- 파이썬 버전을 사용자 단위 혹은 프로젝트별로 각각 다른 버전을 사용할 수 있다.
- ruby 의 rvm, Node.js 의 nvm 와 같은 역할을 하는 Version Manager 이다.
- https://github.com/pyenv/pyenv
pyenv 설치
python 을 설치하는데 필요한 패키지 설치
1
|
$ sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev
|
pyenv 소스 다운로드
Gibhub 저장소에서 최신 pyenv
소스를 클론하여 ~/.pyenv
경로에 설치한다.
1
|
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
|
환경변수 등록
- 사용하는 Shell 맞추어 환경변수 설정한다.
- bash shell 을 사용하는 경우
~/.bash_profile
또는 ~/.bashrc
1
2
3
4
5
6
|
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
# 변경 사항 적용을 위한 Shell 재기동
$ exec "$SHELL"
|
pyenv 사용하기
pyenv 설치 가능한 버전 확인
python 버전을 설치하기 전에 이 명령으로 설치 가능한 버전을 확인 할 수 있다.
1
2
3
4
5
6
7
8
9
10
|
$ pyenv install --list
# 설치가능한 python 버전을 보여준다.
Available versions:
2.1.3
2.2.3
2.3.7
2.4.0
2.4.1
2.4.2
|
install
명령어로 설치
1
2
3
4
5
|
$ pyenv install 3.7.2
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
|
설치된 모든 python 버전 보기
1
2
3
4
5
6
7
|
$ pyenv versions
# 설치된 파이썬 버전이 출력
pyenv versions
system
3.7.0
* anaconda3-5.3.1 (set by /home/riley/.pyenv/version
|
pyenv 명령어를 사용하여 전역 파이썬 버전 설정하기
1
2
3
4
5
6
|
$ pyenv global 3.7.0
$ python -V
# 변경된 버전 출력
$ Python 3.7.0
|
💡 오류 해결
빌드 설치시 ModuleNotFoundError: No module named _ctypes 로 파이썬 빌드가 안될때
1
2
|
# libffi-dev
$ apt-get install -y libffi-dev
|
참고 및 출처