환경
- Apple M2 Pro
- macOS Sonoma
- PyCharm 2022.2.1 (Professional Edition)
가상환경
python 프로젝트마다 독립적인 패키지와 라이브러리를 설치하고 관리할 수 있도록 도와주는 격리된 환경입니다
사실 개발해보면 다른 언어로 개발해도 프로젝트 단위로 개발하기 때문에 필수 과정입니다
가상환경은 시스템 전체의 python 설치와 독립된 특정 디렉토리에 python 인터프리터와 필요한 패키지를 설치하고 관리할 수 있도록 격리된 논리적 공간입니다
가상환경 내에서는 특정 프로젝트에 필요한 패키지와 라이브러리 버전을 설치하고 사용할 수 있습니다
왜 필요합니까?
- 패키지 충돌 방지
- 프로젝트마다 필요한 패키지와 버전이 다를 수 있음
- 각 프로젝트마다 패키지를 다르게 관리하고 싶음
- 의존성 관리
- requirements.txt 파일을 통해 설치된 패키짖 목록을 기록하고, 다른 환경에서도 동일한 패키지를 설치할 수 있습니다
- 시스템 전체에 패키지를 설치하지 않기 때문에 쓸데없는 패키지가 시스템에 설치될 일이 없음
- 다양한 python 버전 관리
- 가상환경을 사용하면 프로젝트마다 다른 python 버전을 사용할 수 있습니다
`venv`, `virtualenv`, `conda` 등의 도구를 사용합니다
virtualenv, venv 중 선택
virtualenv
와 venv
의 비교
- 설치:
venv
: Python 3.3 이상에서는 별도의 설치가 필요 없습니다.virtualenv
:pip
를 사용하여 전역 시스템에 설치해야 합니다.
- Python 2.x 지원:
venv
: Python 3.3 이상에서만 사용 가능.virtualenv
: Python 2와 3 모두에서 사용 가능.
가상환경별 파이썬 버전 설정
virtualenv myenv
pyenv를 통해 다양한 파이썬 버전 설치 가능합니다
특정 파이썬 버전 저장됐다면?
pyenv로 설치한 특정 python 버전으로 명시합니다
virtualenv -p $(pyenv prefix 3.10.10)/bin/python <가상환경이름>
pyenv로 파이썬 설치
다양한 버전의 파이썬을 설치할 수 있는 도구
설치
brew update
brew install pyenv
설치된 파이썬 버전확인
pyenv versions
현재 사용중인 python 버전확인
pyenv version
설치 가능한 python 버전
pyenv install --list
특정 버전 설치
pyenv install <version>
특정 버전 삭제
pyenv uninstall <version>
전역 python 버전 설정
pyenv global <version>
로컬 python 버전 설정
pyenv local <version>
보통 프로젝트 상위 디렉토리에 설정해서 해당 프로젝트에서 사용하는 파이썬 버전을 설정됩니다
.python-version 파일에 버전 저장됩니다
특정 셸 세션에서만 버전
pyenv shell <version>
pyenv 설치된 경로 파악
pyenv root
설치된 python 버전 경로 확인
pyenv prefix <version>
설치된 Python 버전의 실행 파일 경로를 확인하려면 다음과 같이 경로를 확인할 수 있습니다
ls -l $(pyenv prefix <version>)/bin/python
pycharm 구성
pycharm 단축키로 Settings로 들어갑니다
cmd + ,
Python Interpreter > Add Interpreter > Add Local Interpreter...
virtualenv에서 사용할 python의 경로를 지정해줍니다
지정이 되면 다음과 같이 나옵니다
flask로 애플리케이션 새로 만들때 다음과 같이 이미 생성한 interpreter를 쓸 수 있습니다