이번에는 freeze를 할 것입니다. 간단하지만 정말 중요한 내용입니다.

가상환경에 진입한 상태에서 pip list 명령어를 수행합니다.

(venv)root@goorm:/workspace/instaclone/instaclone# pip list

우리가 설치했던 패키지들의 리스트입니다. 패키지 옆에 버전도 같이 출력됩니다. 이 버전이 맞기 때문에 애플리케이션이 잘 작동하는 것입니다. 버전이 다르게 되면 그에 맞는 문법을 사용해야되고 그렇지 않으면 작동이 안하는 경우가 있습니다.

만약, 다른 개발자가 해당 프로젝트를 사용하고자 한다면 이 패키지들을 설치해야합니다. 캡쳐를 하셨다가 버전에 맞게 설치를 하는 것도 방법이지만 매우 번거롭습니다. pip는 이러한 패키지 리스트를 관리할 수 있는 방법이 있습니다. freeze 라는 명령어를 통해 패키지 리스트를 관리하는 문서 requirements.txt를 만드는 것입니다.

(venv)root@goorm:/workspace/instaclone/instaclone# pip freeze > requirement.txt

현재 터미널 경로에 requirements.txt 파일이 생겼을 것입니다. 확인해 보도록 하겠습니다. requirement.txt 파일이 생성되었습니다. 한번 열어보도록 하겠습니다. pip list 했을 때 나오는 패키지와 버전이 문서 안에 정리가 되는 것을 확인하실 수 있습니다.

이 문서를 이용하여 pip install -r requirements.txt 명령어로 다른 환경에 해당 패키지들을 한번에 설치할 수 있습니다. 한번 임시로 다른 가상환경을 만들고 패키지들을 설치해보겠습니다.

현재 venv 가상환경에 있다면 deactivate 명령어로 빠져나옵니다.

(venv)root@goorm:/workspace/instaclone/instaclone# deactivate