for Time in Life:
venv, Python 공식 가상환경 도구 사용하기 본문
Python 3.3 부터 공식 지원하기 시작한 venv
그 동안은 외부 패키지인 virtualenv, pyvenv(3.6부터 폐지), pyenv, pipenv, 심지어 (ana)conda 자체 env까지..
수도 없는 가상환경 툴이 있었지만, conda 는 이미 가상환경 복잡성을 증대시키는 이유로 멀어지고 있고,
pyvenv 는 python 3.6부터 정식으로 지원 종료되었습니다.
더 이상 여기저기 헤매지 말고 3.5부터 공식적으로 권장하고 있는 venv 를 사용합시다.
아래 링크는 venv 에 대한 참고 문서. (패스해도 좋습니다)
python? (은 설치해야겠죠. 저는 homebrew 로!)
brew insatll python3 # 알아서 3.y 버전 최신으로 설치한다. setuptools, pip 도 알아서 설치.
venv 설치? (필요없음)
venv 는 python 에 기본 내장된 모듈이므로 별도 설치 없이 바로 시작하면 됩니다.
가상 환경 생성
가상환경은 하나의 폴더를 생성하고 모든 패키지를 그 폴더 안에 구성합니다.
어디에 세팅하는지는 본인 선택이겠지만, 향후 내가 어떤 가상환경들을 꾸며놨었는지 잊지 않으려면 기본 사용자 폴더 "~"가 좋습니다.
아니다, 난 프로젝트 폴더 안에 가상환경을 생성해서 이 프로젝트에 참여하는 다른 개발자들과 모두 동일한 가상환경을 공유하고 싶다. 이 프로젝트를 지우면 가상환경도 같이 지워지게 만들고 싶다... 하면 프로젝트 폴더 안에 생성해도 됩니다.
# 설치된 python 버전이 하나 밖에 없을 때
venv ~/apple_env
# 설치된 python 버전이 여럿이라서 특정 버전으로 가상환경을 만들고 싶을 떄
python3.10 -m venv ~/apple_env
# python 버전은 특정할 수 있도록 최소 자릿수만 적으면 됩니다
만약 현재 설치된 Python 버전이 2종류 이상일 경우 원하는 python 버전을 앞에 지정해주면 됩니다.
위에서는 하나의 버전 밖에 없을 경우로 생략 가능했습니다.
python3.8 -m venv apple_env # python3.8 을 기반으로 하는 가상환경 apple_env 를 생성
위에서 "-m"은 modules 의 약자 m 입니다. venv 가 Python 에 기본 내장된 모듈이니까요.
가상 환경 활성화 (Activate)
source 명령어와 함께 생성한 가상환경 폴더 내부의 activate 을 지정해줍니다.
source ~/apple_env/bin/activate # 사용자 폴더에 설치했으므로
가상환경에 들어가면 아래처럼 맨 앞에 (apple_env) 라는 가상환경 이름이 붙습니다.
(apple_env) username@Mac %
이제 가상환경 내에 있는 것입니다.
프로젝트에 필요한 패키지를 설치해야겠네요. 아래 pip 를 이용한 패키지 관리 방법 참고하시면 됩니다.
가상 환경 비활성화 (Deactivate)
deactivate
가상 환경 삭제
rm -rf ~/apple_env # 그냥 가상환경 폴더를 삭제한다
homebrew 와 함께 사용 시 주의사항
homebrew 로 python 을 먼저 설치하고
brew install python3
그 다음 가상환경이다.
python3.y -m venv some_env
가상환경을 활성화(activate)한 상태에서 homebrew 로 python 설치는 하지 말자.
성공?!
References
'개발 환경' 카테고리의 다른 글
pip, 패키지 리스트 관리하기 (0) | 2022.08.22 |
---|---|
Ubuntu, 크롬 및 크롬드라이버 업데이트 방법 (0) | 2022.08.20 |
Safari 탭그룹, 자주 보는 페이지들을 묶음으로 저장하기 (0) | 2022.08.16 |
chromedriver, 확인되지 않은 개발자 배포 에러 해결 (0) | 2022.08.15 |
homebrew, MacOS 패키지 매니저 사용하기 (0) | 2022.07.31 |