본문 바로가기
Web Programming/django

AWS 서버 배포 - (2) Django 프로젝트 배포

by 테리는당근을좋아해 2022. 6. 14.

1. 가상환경 패키지 저장

1) 가상환경 실행

source [Virtual Environment]/bin/activate

2) requierments.txt 파일 생성

pip3 freeze >> requirements.txt

 

 

2. EC2 인스턴스에 git 설치

sudo yum install git

 

 

3. git clone

mkdir ~/[디렉터리 명]

- 프로젝트를 clone할 디렉터리 생성

 

cd ~/[디렉터리 주소] && git clone [레파지토리 명]

 

 

4. 가상환경 내 패키지 설치

source [가상환경 명]/bin/activate

- 가상환경 활성

 

pip3.8 install -r requirements.txt

- 패키지 리스트를 통해 패키지 설치

 

5-1. 패키지 관련 버전 이슈 해결

- django4.0.5를 사용하는데 버전이 맞지 않는 문제 발생

- amazon Linux2에서는 파이썬 3.6이 설치되어 있음

 

(1) Extras 라이브러리에서 패키지 설치 확인

/usr/bin/amazon-linux-extras


# 설치가 안되어있으면 아래 명령어를 통해 설치
# sudo yum install -y amazon-linux-extras

 

 

(2) 설치 가능한 python 버전 확인 및 활성화

amazon-linux-extras | grep python # 설치 가능한 버전 확인
sudo amazon-linux-extras enable python3.x # 설치

 

 

(3) yum을 이용해 설치

sudo yum install python3.x

 

 

 

5-2. 패키지 관련 버전 이슈 해결

앞의 "pip freeze >> requirements.txt"로 받은 패키지 목록을 이용해 EC2에 패키지를 설치하려고 하니

"ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/python3/python3-110/six-1.15.0-py2.py3-none-any.whl'"

와 같은 오류가 발생했다.

 

해당 이슈는 direct URL references로 설치된 배포판을 직접 포함하도록 pip freeze가 변경되어서라고 한다.

자세한 내용은 아래를 참고하자

https://github.com/pypa/pip/issues/8176

 

아래 명령어로 패키지 목록을 만든 다음 EC2에 설치 가능하다

pip list --format=freeze > requirements.txt

 

 

6. 프로젝트 실행

python3.8 manage.py runserver

'Web Programming > django' 카테고리의 다른 글

Gunicorn  (0) 2022.07.05
AWS 서버 배포 - (1) EC2 인스턴스 생성  (0) 2022.06.09
[Django] Model기반 form 형식 지정  (0) 2020.06.22
[Django] 페이지네이션  (0) 2020.06.22
[Django] 템플릿 확장  (0) 2020.06.22

댓글