파이썬은 JS
진영의 npm
과 유사한 기능을 하는 pip
라는 환경 관리자가 존재한다. 그러나, npm
은 packages.json
처럼 의존되는 패키지들과 각 버전이 언급되어 있지만, pip
에는 그러한 파일이 없다.
하지만 사용자가 이러한 의존성에 대한 목록을 만드는 것은 지원한다.
(왜 자동으로 만들지 않는걸까?)# store to requirements.txt
$ pip freeze > requirements.txt
이 명령을 통해, PC에 설치된 모든 python
라이브러리를 가져올 수 있다.
그러나 우리는 venv
를 이용해, 각 프로젝트마다 사용된 라이브러리를 따로 관리하는 경우도 존재한다.
$ pip freeze --path <venv_path/Lib/site-packages>
venv
가 존재하는 경로를 지정해주면 해당 경로에 설치된 라이브러리만 추출해 리스트를 생성한다.
생성된 리스트는 아래와 같다.
$ pip freeze
docutils==0.11
Jinja2==2.7.2
MarkupSafe==0.19
Pygments==1.6
Sphinx==1.2.2
생성된 리스트를 통해 설치하는 방법은 아래와 같다.
$ pip install -r requirements.txt