Programming/Python

설치된 라이브러리 리스트를 requirements.txt 로 만들자.

매직블럭 2021. 6. 18. 16:20

github 등 외부에서 작성된 코드들을 보다보면 requirements.txt 파일을 종종 보게 된다

이는 해당 코드 동작에 필요한라이브러리 목록을 적어 둔 것으로 

이 파일을 읽어 모든 라이브러리를 한번에 설치하는것이 가능하다. 

 

이러한 사용중인 설치된 라이브러리 목록을 requirements.txt로 만드는 방법 정리.

 


패기지 목록을 생성하기 위해서는 freeze 라는 명령어를 사용한다.

 

# > 는 결과물을 파일 등으로 출력할 때 사용.
>> pip freeze > requirements.txt

 

하지만 이렇게 출력하니 버전이 올바르게 출력된 패키지도 있는 반면

일부 패키지는 버전 정보가 올바르게 표현되지 않는 경우도 있었다.

# 예시
matplotlib @ file:///C:/ci/matplotlib-base_1597858387645/work
numpy==1.20.2

 

이러한 현상을 방지하기 위해서는 아래와 같이 list를 출력하여 사용하면 위와같은 문제가 발생하지 않는다.

>> pip list --format=freeze > requirements.txt

# 출력파일 예시
matplotlib==3.3.1
numpy==1.20.2

추가로 requirements.txt. 에 정의된 라이브러리를 일괄 설치하기 위해서는 아래와 같이 사용한다.

>> pip install -r requirements.txt