[Ubuntu] Ubuntu에서 pyenv, virtualenv 사용하기
업데이트(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
업데이트를 합니다.
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
가상환경 삭제
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