업데이트(2024.08.01): pyenv uninstall 관련 내용 추가
업데이트(2024.07.19): Ubuntu 16.04 LTS 관련 내용 삭제 및 패키지 업데이트 변경
업데이트(2024.07.14): OS 버전에 따른 패키지 관련 내용 수정
업데이트(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 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
필요한 패키지 설치
Suggested build environment에 따라 필요한 패키지들을 먼저 설치합니다.
sudo apt update -y
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
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
업데이트를 합니다.
설치 가능한 python version들 확인
설치 가능한 python version들을 확인하고 설치합니다.
필요한 python version 설치
저는 3.6.2를 설치하였습니다. pyenv에 설치된 python version들은 pyenv versions를 통해서 확인 가능합니다.
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
가상환경 삭제
pyenv versions 명령어를 통해 나오는 가상환경을 pyenv uninstall [가상환경 디렉토리]를 통해 삭제할 수 있습니다.
$ pyenv versions
* system (set by /home/twpower/.pyenv/version)
3.7.2
3.9.2
3.9.2/envs/test-env
3.10.2
3.10.2/envs/jupyter-notebook-env
jupyter-notebook-env --> /home/twpower/.pyenv/versions/3.10.2/envs/jupyter-notebook-env
test-env --> /home/twpower/.pyenv/versions/3.9.2/envs/test-env
$ pyenv uninstall 3.9.2/envs/test-env
pyenv: remove /home/twpower/.pyenv/versions/test-env? [y|N] y
pyenv-virtualenv: remove /home/twpower/.pyenv/versions/3.9.2/envs/test-env? (y/N) y
참고자료