Framework/Django

[DJ] 장고 배포 ① : 사전작업 requirements.txt 만들기

QUERY 2021. 7. 8. 02:19

장고 로고


"쉽게" ≪ 왕초보자용 ≫ "쉽게"

 

 

장고 애플리케이션을 웹에 배포하기 전에, 몇 가지 해야할 작업들이 있습니다.
역시나 엄청 쉽습니다. 금방 끝나요.

 

1. requirements.txt 란?

▶ 우리는 지금, 본인 컴퓨터에 있는 장고 프로젝트를 (AWS EC2와 같은)서버 컴퓨터로 옮기는 작업을 하려고 합니다.

쉽게 말해서, "이사 간다"고 생각하시면 편합니다.

이삿짐은 싸서 "github"이라는 업체에 맡길 건데, 안타깝게도 github은 배송만 해준다네요?

새 집에 이삿짐만 덩그러니 놓고 가버리면... 그걸 누가, 언제 정리하나?

가뜩이나 처음 새 집 들어가는 거라 긴장돼 죽겠는데!

누가 대신 가구배치 싹 해주고, 가전제품들도 바로 사용할 수 있도록 세팅까지 깔끔하게 해준다면.... 정말 편하지 않을까요?

그런 우리의 니즈를 위해 존재하는 게 바로 이 "requirements.txt" 란 녀석입니다.

파일 제목에서부터 뭔가 강렬함이 느껴지죠, "요구사항.txt"

이사간 새 집에 가서 저 파일만 딱 건네주면, 설치기사님들이 집에 있는 모든 가전제품들 싹 다 설치랑 세팅까지 해주고 가십니다.

완전 초호화 고급서비스죠.

 

물론, 저 서비스 안 받으셔도 됩니다. 직접 제품 설명서 하나하나 확인해가면서 하실 수도 있어요. 화이팅!!

 


2. requirements.txt 파일 만드는 방법

모든 큰 따옴표 " "는 강조를 위함이지 "명령어"의 일부가 아님을 알려드립니다.

 

※ 참고) 터미널 (terminal)  찾는 방법

▶ 단축키: command + 스페이스바


안 될 경우,

화면 우측 상단 돋보기

▶ 맥 우측 상단에 "돋보기" 모양 클릭

Spotlight Search에서 terminal 검색하기

▶ 그럼 화면에 위와 같이 "Spotlight Search" 검색창이 뜹니다.

terminal 찾아서 실행하기

▶ 검색창에 "terminal" 입력하시면, 제일 위에 검은색 아이콘으로 Terminal 이라는 프로그램이 뜰 겁니다. 가볍게 "클릭" 

현재 위치경로
myApp으로 경로변경

▶ 명령어 "cd ~/myApp"는 myApp이라는 폴더로 이동해달라는 뜻입니다.

이때, cdchange directory의 약자이고, "myApp"은 본인의 장고 프로젝트 폴더입니다.

 

myApp(장고 애플리케이션 프로젝트 폴더)로 이동

▶ 본인이 만든 장고 애플리케이션의 프로젝트 폴더로 이동합니다.

예시) myApp는 "manage.py" 파일이 있는 장고 애플리케이션의 프로젝트 폴더입니다.

장고 애플리케이션 프로젝트 폴더 내부

▶ 프로젝트 폴더 안에 있는 파일들을 확인해보겠습니다. (붉은 색 번호순)

1. myApp은 "settings.py" 파일이 있는 폴더입니다.

2. news는 django-admin startapp news로 만든 "애플리케이션(앱)" 폴더입니다.

3. venv는 장고 애플리케이션을 제작할 때 사용한 "가상환경"입니다.

(각자 취향에 따라 가상환경의 명칭과 설치된 위치는 다를 수 있습니다.)

가상환경 실행 명령어

▶ 장고 애플리케이션을 제작할 때 사용한 가상환경을 실행시킵니다.

명령어 "source venv/bin/activate" 이때, venv 자리에는 현재 사용 중이신 가상환경의 명칭을 적으시면 됩니다.

가상환경이 정상적으로 작동된 모습

▶ 위 사진과 같이, 현재 경로 앞에 (가상환경 이름)이 생기면 성공입니다.

가상환경에서 사용 중인 모든 패키지 확인하기

▶ 명령어 "pip freeze"는 현재 가상환경에서 사용 중인 패키지의 종류 각각의 버젼을 상세히 알려줍니다.

(여러분의 경우, 위 사진보다 설치된 패키지들이 훨씬 많으실 거예요. 위 사진은 설명을 위한 참고 자료입니다.) 

requirements.txt 파일 생성 방법

▶ 명령어 "pip freeze > requirements.txt"는 현재 가상환경에서 사용 중인 패키지의 종류와 각각의 버젼을 정리해서 requirements.txt 파일로 만들어줍니다.

 


3. requirements.txt 파일의 내용 확인하는 방법

새로 생성된 requirements.txt 파일

▶ myApp 폴더를 확인해보시면, 기존에 없었던 requirements.txt 파일이 생성된 것을 확인하실 수 있습니다.

비교해 보기

▶ 새로 생긴 requirements.txt 파일을 실행시켜 그 내용을 확인하고 싶으신 경우,

명령어 "cat requirements.txt"를 입력하시면 됩니다.

위 사진과 같이 pip freeze로 확인한 결과requirements.txt 파일의 내용이 같은 것을 확인하실 수 있습니다.

 


4. requirements.txt 파일 서버 컴퓨터로 옮기는 방법

▶ 방법은 다양합니다.

4-1. 본인이 작업 중인 "github 저장소"에 올리신 뒤, 서버 컴퓨터에서 내려받는 방법이 있고,

4-2. "FileZilla"와 같은 프로그램을 사용해서 마우스로 드래그 & 드롭 하시는 방법도 있습니다.

 

 


※ 참고) Django 공식 사이트에서 제공하는 "배포 전 체크리스트"입니다.

 

https://docs.djangoproject.com/ko/3.2/howto/deployment/checklist/

 

배포 전 체크리스트 | Django 문서 | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 


※ 참고) GitHub 홈페이지 주소:

https://github.com/

 

GitHub: Where the world builds software

GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 


※ 참고) FileZilla 공식 홈페이지 주소:

https://filezilla-project.org/

 

FileZilla - The free FTP solution

Overview Welcome to the homepage of FileZilla®, the free FTP solution. The FileZilla Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public Licen

filezilla-project.org