<virtualenv?>
virtual environment를 만들어주는 패키지다
gradle, maven처럼 프로젝트의 라이브러리 버전을 매니지먼트해준다
<라이브러리 버전 관리?>
virtualenv는 프로젝트에서 라이브러리를 많이 사용할 때, 라이브러리 버전을 관리하기위해 필요해진다
라이브러리 버전 관리는 왜 필요할까?
1. 다른 환경(PC)에서 프로젝트를 개발/실행할 때, library version compatibility issue가 발생하지 않도록 해준다
2. 이 프로젝트에서 사용하는 라이브러리들을 정리하기 간편하다
2번은 virtualenv를 실행하고, 필요한 라이브러리들을 다운받고,
pip freeze > req.txt
위 커맨드를 통해 req.txt file로 redirection하면 dependency library들의 리스트를 만들수 있다. 그리고
pip install -r req.txt
다른 환경에서 위 커맨드를 통해 필요 라이브러리들을 손쉽게 인스톨할수있다
<사용법>
위에서 virtualenv 사용이유에 대해서 살펴보았다. 이제 사용법을 알아보자
virtualenv venv
위 커맨드를 실행하면 현재 경로에 venv 디렉토리가 생성된다
venv/Scripts/activate
위 커맨드로 venv를 시작할 수 있다
pip freeze
위 커맨드로 venv가 잘 실행되었는지 확인할 수 있다 (인스톨한 라이브러리가 없다고 보여야함)
deactivate
venv를 빠져나올 수 있다
---
<주의>
venv 디렉토리를 생성하고 다른 곳으로 옮겨서 사용하면 제대로 동작하지 않는다
그땐 바뀐 경로에서 다시
virtualenv venv
커맨드를 실행하여 그 경로에 다시 venv를 적용하여야한다
그리고 windows powershell에서는 사용하기 귀찮으므로 cmd를 추천한다
또한 cmd에서는 경로에 / 대신 \(back slash)를 사용하여야한다
(이래서 mac를 쓰나보다)
example: venv\Scripts\activate
'Language > python' 카테고리의 다른 글
[python] File I/O: 'r' vs 'rb' 차이/비교 (0) | 2018.01.01 |
---|---|
[python] 클래스 멤버 변수 선언과 __init__(), self (0) | 2017.12.31 |
[python] python2 object class 상속이유 (0) | 2017.12.30 |
[python] WSGI, Middleware (flask, django) (0) | 2017.12.29 |
[python] Django란? (0) | 2017.12.29 |
WRITTEN BY
- hojongs
블로그 옮겼습니다 https://hojongs.github.io/