[Ubuntu] Ubuntu에서 pyenv, virtualenv 사용하기
업데이트(2022.12.01): pyenv-update git 주소 변경
업데이트(2021.10.11): pyenv 설정 관련 값 추가
업데이트(2020.02.08): Ubuntu 18.04 내용 추가 및 파이썬 버전 변경 3.5.2 -> 3.6.2
업데이트(2018.03.07): pyenv-update를 추가하였고 환경변수를 로드해주는 명령어도 추가해주었습니다.
Ubuntu 환경에서 pyenv와 virtualenv를 사용해보자
환경
- Ubuntu 16.04
- Ubuntu 18.04
필요한 패키지들 설치
Common build problems를 참고하면 Build 관련해서 문제가 생길 때 설치해야 할 패키지와 어떻게 pyenv version package를 지우고 재설치해야 하는지가 나와있습니다. 이 때 나온 패키지들을 미리 설치해주면 나중에 생길 문제를 미리 방지 할 수 있겠죠? :)
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git libedit-dev python
pyenv 설치
git에서 ~/
폴더안에 .pyenv
이름으로 직접 clone을 합니다.
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
추가를 마치고 환경변수까지 추가합니다.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
환경 변수를 추가하고나서 pyenv를 찾을 수 없다고 하여 컴퓨터를 reboot하였습니다.
만약 이렇게 reboot을 했음에도 진행이 되지 않는다면 다음 링크를 참고한다.(https://github.com/pyenv/pyenv/wiki/Common-build-problems)
pyenv-update 설치
pyenv를 업데이트 해줄 수 있도록 다음 아래 명령어를 통해 pyenv-update를 설치합니다.
$ git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenv-update
업데이트를 합니다.
$ pyenv update
설치 가능한 python version들 확인
설치 가능한 python version들을 확인하고 설치합니다.
pyenv install --list
필요한 python version 설치
저는 3.6.2를 설치하였습니다. pyenv에 설치된 python version들은 pyenv versions
를 통해서 확인 가능합니다.
$ pyenv install 3.6.2
pyenv-virtualenv 설치
git에서 ~/.pyenv/plugins/
폴더안에 pyenv-virtualenvwrapper
이름으로 직접 clone을 합니다.
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
추가를 마치고 환경변수까지 추가합니다.
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
똑같이 환경변수를 추가하고 로드하였는데도 안되면 다시 shell을 껐다가 켭니다.
가상환경 생성
이전에 포스팅한 [Mac] Mac에서 pyenv, virtualenv 그리고 autoenv 사용하기에 나와있는 것과 사용법은 똑같습니다.
사용법
$ pyenv virtualenv [python version] [virtual environment name]
예시
$ pyenv virtualenv 3.6.2 LinkU
가상환경 사용
이 부분도 포스팅한 [Mac] Mac에서 pyenv, virtualenv 그리고 autoenv 사용하기에 나와있는 것과 사용법은 똑같습니다.
$ pyenv activate [virtual environment name]
(virtual environment name)$ pyenv deactivate