Python 가상환경을 제공하기 위한 pyenv
와 virtualenv
를 사용하는 과정을 정리해보고자 한다.
1. Configuration
$ vi ~/.bashrc
...
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
2. Installation
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
3. Create virtualenv
- List installable python versions
$ pyenv install --list
- Install python version
$ pyenv install 3.8.12
- Check installed python versions
$ pyenv versions
- Create/delete virtualenv
$ pyenv virtualenv 3.8.12 base $ pyenv uninstall base
- List virtualenvs
$ pyenv virtualenvs
- Activate/deactivate virtualenv
$ pyenv activate base $ pyenv deactivate
- Set global(default) virtualenv
.pyenv/version
에 virtualenv를 적어 default virtualenv를 설정할 수 있다.$ pyenv global base
-
Set local python version
Directory 내.python-version
에 virtualenv를 적어두면 해당 directory 진입 시 자동으로 virtualenv가 변하게 할 수 있다.
이와 관련된 설정이.bashrc
에서 추가한eval "$(pyenv virtualenv-init -)"
$ pyenv local base # write base in .python-version
Troubleshooting
ModuleNotFoundError: No module named '_lzma'
macOS에서python3.8.12
를 설치하는 과정에서 에러가 발생.
→xz
package를 설치하여 해결 (https://stackoverflow.com/a/69517932/9002438)$ brew install xz
PREVIOUSEtc