venv와 pyenv의 차이점
1. venv
python3에서 기본적으로 제공되는 라이브러리
python3에서 지원되는 라이브러리이기 때문에 python2 환경에서는 사용할 수 없음
2. pyenv
별도의 설치가 필요
python2, python3 모두 버전 별로 환경 구성을 다르게 할 수 있다.
pyenv로 가상환경을 설치하기
환경: ubuntu 20.04.4 LTS
mkdir Django_Project --> 폴더를만들어주었다
global과 local python verison을 다르게 할 것이기 때문에 2가지 python version으로 설치
yunajoe@yunajoe:~/Django_Project$ pyenv install 3.7.11
yunajoe@yunajoe:~/Django_Project$ pyenv install 3.8.13
# 버전확인
yunajoe@yunajoe:~/Django_Project$ pyenv versions
* system (set by /home/yunajoe/.pyenv/version)
3.7.11
3.8.13
# env01 이라는 가상환경 만듬
yunajoe@yunajoe:~/Django_Project$ pyenv virtualenv 3.7.11 env01
yunajoe@yunajoe:~/Django_Project$ pyenv versions
* system (set by /home/yunajoe/.pyenv/version)
3.7.11
3.7.11/envs/env01
3.8.13
env01
env01은 3.7.11/envs/env01은 심볼링 링크다
# python global 버전은 3.8.13 으로 정하자. '*' 표시는 현재 설정되어 있는 python version 따라서 따로 local 설정을 해주지 않으면 3.8.13를 기본 환경으로 사용
yunajoe@yunajoe:~/Django_Project$ pyenv global 3.8.13
yunajoe@yunajoe:~/Django_Project$ pyenv versions
system
3.7.11
3.7.11/envs/env01
* 3.8.13 (set by /home/yunajoe/.pyenv/version)
env01
다음은 local 설정
# Django_Project를 만들 폴더에는 env01 python 환경(local)을 설졍해주자
yunajoe@yunajoe:~/Django_Project$ pyenv local env01
# 프로젝트 폴더안에서 python 환경
(env01) yunajoe@yunajoe:~/Django_Project$ pyenv versions
system
3.7.11
3.7.11/envs/env01
3.8.13
* env01 (set by /home/yunajoe/Django_Project/.python-version)
# 프로젝트폴더가 아닌 상위 폴더, (local의 영향을 X) python 환경
yunajoe@yunajoe:~$ pyenv versions
system
3.7.11
3.7.11/envs/env01
* 3.8.13 (set by /home/yunajoe/.pyenv/version)
env01