mjk study log
Pythonanywhere로 github에 있는(flask) 코드 배포하기 / How to deploy a website with Pythonanywhere 본문
Pythonanywhere로 github에 있는(flask) 코드 배포하기 / How to deploy a website with Pythonanywhere
mjk- 2025. 5. 2. 18:43The website: https://hwawon.pythonanywhere.com/
Campus Bloom
화원에 대해 화원은 배움에는 끝이 없다고 믿습니다. 화원에서는 누구나 새로운 기술을 배우고, 다양한 사람들과 소통하며, 배움의 즐거움을 다시 발견할 수 있도록 따뜻하고 힐링이 되는 환경
hwawon.pythonanywhere.com
Why Pythonanywhere? / 왜 Pythonanywhere인가?
무료이다! 물론 제공해주는 cpu가 적어 느리고 적은 양의 파일만 업로드 가능하지만 웹사이트를 처음 배포해보는 용이나 프로젝트 용으로는 딱 알맞다.
Pythonanywhere 계정 만들기
1. https://www.pythonanywhere.com/에 접속해 회원가입을 해준다.
1-a. 이때 주의할 점은 website url이 [id].pythonanywhere.com 으로 설정되므로 id를 신중히 결정하자.
1-b. 회원가입으로 설정한 이메일 주소로 확인 메일이 온다. 메일에 있는 링크를 눌러줘야 회원가입이 완료된다.
2. 홈페이지에서 내 아이디를 확인해준다. - 회원가입 완료
Pythonanywhere에서 website 만들기
2. 홈페이지에서 web에 들어가서 "add a new web app" 선택
3. "Next" 선택
4. "Flask" 선택
4. 코드에 사용한 파이썬 버전 선택
4-a. 파이썬 버전을 모를 경우, 밑의 command로 내가 사용한 버젼이 뭔지 알아본다.
python --version
5. 확인하고 next 선택
코드 준비하기
6. requirements.txt 파일을 준비해준다. (필요한 libraries 정보)
# python virtual env이 안켜져있다면 사용
source venv/Scripts/activate
# 파일 생성
pip freeze > requirements.txt
7. 이 모든 걸 github에 push 해준다.
git add --all
git commit -m "created requirements.txt"
git push
8. github에서 zip file을 다운해준다.
소스코드 업로드하기
9. Source code의 "Go to directory" 선택
10. zip file 업로드하기
11. zip file 업로드하고 "open bash console here" 선택
12. console에서 파일 unzip 하기
unzip 파일이름.zip
13. 이때 unzip한 zip file이 directory가 되고, 그 directory 안으로 들어간다.
# check path/file
ls
# move to directory
cd <zip file name>
# check the current path - should be ~/<zip file name>
pwd
14. 가상환경 열어서 requirements.txt에 있는 library install 하기
# 가상환경 만들기
python -m venv venv
# 가상환경 활성화
source venv/bin/activate
# requirements install하기
pip install -r requirements.txt
15. venv 파일이 생긴 것을 확인할 수 있다. 이때 pwd를 쳐서 현재 path를 복사해 저장해두자.
가상환경 경로 업로드하기
16. 다시 web으로 돌아와서 Enter path to a virtualenv, if desired. 선택하기
17. 복사해둔 path를 붙여넣고 뒤에 /venv를 붙이면 된다.
에러 메시지가 안뜨면 완료된 것이다.
config 바꾸기
18. WSGI configuration 링크를 눌러준다.
19. 2개를 바꾼다:
a. project_home 경로에 /zip_file_name 추가로 넣어주기.
b. from flask_app -> app 으로 바꿔주기.
c. save 누르기.
배포된 웹사이트 확인하기
20. "reload" 버튼을 누르고 완료되면 website url를 눌러 결과를 확인하면 된다.
배포 완료