일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- nohub
- OS
- braces
- vscode
- Lambda
- graphQL
- docker
- Windows
- 플라스크
- 시작
- jinja2
- 카카오톡 챗봇
- Python
- 운영체제
- cloud
- 도커
- gcp
- flask
- Mac
- AWS
- 파일권한
- 카카오 오픈빌더
- 노션
- GQL
- venv
- ssh
- 구글클라우드
- 클라우드
- 챗봇
- chatbot
- Today
- Total
ForFour
Python 가상환경 본문
가상환경 virtualenv
python의 가상환경을 만들어주는 라이브러리들이 몇 가지 있지만 그 중 가장 유명하고 쓰기 편한 virtualenv와 virtualenvwrapper를 사용하기로 합니다. 추가적인 라이브러리에 대한 정보는 다음 스택오버플로우에 잘 설명되어 있습니다.
virtualenv & virtualenvwrapper
처음에 venv를 사용할 때는 오히려 귀찮았습니다.
내가 왜 사용해야 하는지도 잘 모르겠고 간간히 사용은 하고 있지만 전혀 익숙해지지 않고 효율성에 대한 의문만 있었습니다. 그러다 점점 프로젝트를 분리해야겠다는 생각을 했고 사용하는 김에 한 번 간단하게 정리를 해보려고 합니다.
virtualenv는 환경을 독립적으로 생성해주는 라이브러리이고, virtualenvwrapper는 가상환경을 조금 더 편리하게 이용할 수 있도록 해주는 툴입니다. 간단하게 명령어를 통해 설치하고 사용하는 과정을 통해 추가로 설명하겠습니다.
설치
아래의 명령어를 통해 두 개의 패키지를 모두 설치할 수 있습니다. 애초에 virtualenvwrapper를 사용하기 위해서는 virualevn가 필요하기 때문에 아래의 명령어를 입력하면 의존성 검사를 통해 자동으로 설치됩니다. $ sudo pip install virtualenvwrapper
설치
Virtualenvwrapper를 사용하지 않고 virtualenv만 사용한다면 매번 `$ source venv/bin/activate` 명령어를 통해 가상환경을 실행시켜 주어야 합니다.
하지만 다음의 환경변수 설정을 통해 virtualenvwrapper를 설정하면 조금 더 편리하게 가상환경을 사용할 수 있습니다
bash shell을 사용한다면 $HOME(~)에서 `ls -la` 명령어로 .bashrc 혹은 .bash_profile을 확인한 뒤에 텍스트 에디터(vim etc..)로 .bashrc 파일을 연 후 맨 밑에 다음의 세 문장을 입력하면 됩니다.
``` export WORKON_HOME=~/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=‘파이썬의 경로’ # Usage of python3 source /usr/local/bin/virtualenvwrapper.sh ```
Mac 환경에서는 설정이 아래와 같이 되어 있어 필요에 맡게 위의 문장을 추가하면 됩니다.
- /etc/bashrc (모든 사용자에게 적용되는 Configuration)
- ~/.bash_profile (현재 접속된 사용자에게만 적용되는 Configuration)
환경변수 설정을 마친 뒤 터미널을 종료했다가 다시 실행 시키면 virtualenvwrapper를 사용할 수 있습니다.
실행하기
이제 가상환경을 생성하고 환경을 활성화하여 프로젝트를 분리하면 됩니다. virtualenvwrapper에서 자주 쓰는 명령어를 알아보겠습니다.
가상환경 생성하기
`$ mkvirtualenv venv_name`
가상환경 확인하기
`workon`
가상환경 진입하기
` $ workon venv_name `
가상환경 빠져나오기
` $ deactivate `
가상환경 삭제하기
`$ rmvirtualenv venv_name`
참고
virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
docs.python-guide.org/dev/virtualenvs/
hidekuma.github.io/python/virtualenv/virtualenvwrapper/python-virtualenv-wrapper/
blog.naver.com/ez_/140138625021