일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 라인플러스
- 머신러닝
- leetcode
- jvm
- 라인
- BFS
- C++
- STL
- spring
- C/C++
- 모두를 위한 딥러닝
- 스타벅스
- Spring Framework
- 파이썬
- 다이나믹프로그래밍
- 알고리즘
- DP
- 백트래킹
- 프로그래밍언어론
- 릿코드
- binary search
- Java
- 딥러닝
- 시애틀
- 백준
- 벤쿠버
- 스프링 프레임워크
- 프로그래머스
- Python
- dfs
- Today
- Total
케이스윔의 개발 블로그
[Python] Virtualenv를 통한 가상의 파이썬 개발환경 구축 본문
파이썬으로 프로젝트를 진행해보면서 공부했었던 것들을 정리해뒀었는데 한 번 더 정리 겸 보완을 해보기 위해 글로 작성한다.
이전에도 한번 파이썬으로 프로젝트를 진행했었는데 그 당시에는 기존에 있었던 예시 코드를 참고하여 시작을 하다 보니 온전히 그 버전에 맞추어서 환경을 구축하고 개발을 진행했었기 때문에 버전관리에 큰 어려움이 없었다. 그런데 두 번째 파이썬으로 프로젝트를 진행하면서 이러한 부분에 대한 고려를 하지 않았더니 처음에 설치 실수로 2.X 버전의 파이썬을 설치해버렸었고, 이후에 환경 구축을 위해 이것저것 설치를 하다 보니 버전이 전부 엉망이 되어버리는 문제가 있었다. 물론 나는 하나의 프로젝트를 진행하기 때문에 깔끔히 지우고 새로 설치하면 문제가 되진 않겠지만 수많은 프로젝트를 진행하고 있었더라면 큰일이 났을 것이다.(그리고 이미 설치한 파이썬자체가 잘 지워지지 않았었던 걸로 기억한다.) 여러 프로젝트를 진행한다면 프로젝트별로 패키지 버전은 다를 것이고 이런 것들은 잘 관리를 해줘야 함을 깨달을 수 있었다. 하지만 '잘' 관리한다는 건 어려운 일이다. 그걸 도와주는 것이 바로 Virtualenv이다.
virtualenv란 무엇인가? 파이썬 어플리케이션별로 독립적인 환경을 사용할 수 있도록 파이썬 환경을 가상화해주는 패키지! 가상 개발환경 구축을 위해 활용한다. 시스템 환경변수의 PATH를 각 프로젝트에 맞게 조작해 독립된 파이썬 환경을 만들어준다.
pyenv: 파이썬 버전을 관리하는 툴. 다양한 파이썬을 설치하고 관리해준다.
pyenv-virtualenv: 파이썬 환경을 격리하는 툴. virtualenv의 pyenv 확장 플러그인으로 파이썬 버전, 라이브러리의 완전한 격리를 제공한다.
autoenv: 디렉토리 이동 시 실행되는 스크립트. pyenv-virtualenv 사용 시 불편한 수작업 자동화를 해주는데 설정한 프로젝트 폴더에 들어가면 .env 파일을 자동으로 실행하여 가상화를 시켜준다.
프로젝트의 root 디렉토리에서 virtualenv을 구축해두면 이후 해당 프로젝트는 구축한 파이썬버전으로 관리가 된다. 지금 이 포스팅을 작성하는 노트북에는 설치되어있지 않은데 이후 다시 한번 설치 및 사용을 해보며 사용법을 이 글에 추가하도록 해야겠다.
'Study > Python' 카테고리의 다른 글
[Python] 튜플 (0) | 2018.07.08 |
---|---|
[Python] 딕셔너리 (0) | 2018.07.07 |
[Python] 리스트 (0) | 2018.07.07 |
[Python] 문자열 응용하기 (0) | 2018.07.03 |
[Python] 반복문 (0) | 2018.04.27 |