[Python] 종속성 관리 (requirements.txt)
파이썬은 기본적으로 좀 근본이 없는 언어라서, 패키지 종속성 관리같은 기본적인 부분도 맛탱이가 가있다.
예를 들면, nodejs 환경은 package.json으로 종속성 관리를 한다.
그래서 라이브러리든 앱이든, 필요한 종속성을 package.json에 기록해둬서 npm install 한번이면 다 설치를 할 수가 있다.
근데 뭐.. 파이썬에서는 그런걸 반자동, 반수동으로 해야 한다. pip install을 한다고 해서 자동으로 기록이 되지도 않고, 텍스트 파일로 종속성을 직접 적어두고 그걸로 설치를 하게 한다.
텍스트파일의 이름은 정해져있지 않지만, 보통 "requirements.txt"로 한다. 루트 경로에 두고, 다음과 같이 필요한 종속성들을 버전과 함께 적어주면 된다.

그러면 저 텍스트를 pip에 넘겨서 설치를 받게 할 수 있다.
pip install -r requirements.txt

기타 주의사항
pip는 nodejs처럼 node_module로 프로젝트 로컬에 까는 것도 아니고 그냥 글로벌로 설치해버리니 그것도 유의해야 한다.
게다가 한 라이브러리의 여러 버전을 동시에 사용할 경우에도 문제가 있다. 보통은 한 버전밖에 못쓰고, pip도 그런걸 지원해주지 않는다.
뭐 이딴걸 모던한 언어라고 약을 파는지 모르겠다.
참조
https://itholic.github.io/python-requirements/
https://stackoverflow.com/questions/6570635/installing-multiple-versions-of-a-package-with-pip