-
파이썬에서 가상환경을 쓰는 이유concept/python 2020. 7. 28. 22:21
가상환경을 쓰는 이유
파이썬을 처음으로 시작하며 느낀 점은 처음 설정이 굉장히 복잡하다는 것이다.
node.js를 쓸 때는 그냥 npm install만 하면 됐었는데
파이썬에서는 뭐 venv, source 이런걸 써서 가상환경을 만든 후에 작업을 해야한다.
그러다보니 가상환경이라는 것을 왜 설정하는지 궁금해졌다.
먼저 가상환경(virtual environment)이란 독립된 공간을 만들어주는 기능 이다.
가상 환경에서 pip로 패키지를 설치하면 가상 환경 폴더(디렉터리)의 Lib/site-packages 안에 패키지를 저장한다 (npm의 package.json과 같은 기능)
즉, 프로젝트 A와 B 각각 가상 환경을 만들어서 프로젝트 A에는 패키지 버전 A를 설치하고, 프로젝트 B에는 패키지 버전 B을 설치할 수 있다.
따라서, 이 프로젝트만을 위해서 설치한 패키지가 무엇인지 쉽게 확인하고 테스트 할 수 있게 된다.
즉 가상환경은 프로젝트와 그 프로젝트에 사용된 패키지들을 언제나 한 묶음으로 움직일 수 있게 해주는 역할!
가상환경을 만드는 방법
Python에서 가상환경을 만드는 방법은 크게 2가지로 virtualenv와 conda를 사용한다.
여기서 virtualenv를 위주로 설명해보려 한다.
먼저 pip install을 통해 가상환경을 설치한다.
# install virtual Env. pip install virtaulenv
virtualenv를 성공적으로 설치하면, virtualenv 명령어를 통해 가상환경을 만들 수 있다.
만들어진 가상환경은 source 명령어와 함께 가상환경 경로로 들어가서 Scripts 폴더의 activate를 실행시켜 활성화시킬 수 있다.
# Creating virtual env. virtaulenv ${venvName} # Activating virtual env. source ${path/to/env}/bin/activate
그 후에 자신이 원하는 모듈을 설치하면 된다.
추가로 가상환경을 종료하는 명령어는 deactivate이다.
# deactivating virtual env. deactivate
참고 : 가상 환경 폴더를 다른 곳으로 이동시켰다면?
가상 환경을 사용할 때 주의할 점이 있는데,
가상 환경을 만들고 나서 폴더(디렉터리)를 다른 곳으로 이동시키면 활성화가 안 된다.
가상 환경을 활성화하는 activate.bat, Activate.ps1, activate 파일 안에
현재 가상 환경 폴더의 경로가 내장되어 있기 때문인데
만약 가상 환경 폴더를 다른 곳으로 이동시켰다면
activate.bat, Activate.ps1, activate 파일 안의 VIRTUAL_ENV 부분을 이동시킨 폴더 경로로 수정해주어야 한다!
'concept > python' 카테고리의 다른 글
에러를 raise해서 처리하는 방법 (0) 2020.07.28 python-django 간단하게 배우기 (0) 2020.07.16