일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- Crawling
- to shp
- 파이썬
- Chat-GPT
- flask
- 셀레니움
- 플라스크
- clustering
- NLP
- 혁신성장부문
- convert to shp
- Selenium
- Merge Repositories
- 해시태그
- 백준
- kmeans
- 크롤링
- plotly dash
- 인스타그램
- geopandas
- 코랩 런타임
- Python
- python buildpacks
- 웹페이지
- 괄호 문제
- string to list
- colab runtime
- geoDataFrame
- 2164 카드2
- Today
- Total
코딩코딩코딩
heroku를 이용해서 plotly dash 배포하는 방법 (pycharm) 본문
파이참에서 dash를 만들어서 실행시키면 http://127.0.0.1 이런 식의 주소로 되어 혼자만 볼 수 있어서 이를 배포하는 방법을 정리하고자 합니다.
1. heroku 회원가입
2. heroku app 생성
- 로그인 후에 메인 화면에서 우측 상단에 New - Create New app - app name 설정 후 생성
- 여기서 생성한 app name은 이후에 다시 사용되니 알아두시면 좋습니다.
3. heroku CLI 다운로드 (terminal에서 heroku app을 직접 만들고 관리할 수 있게 함)
https://devcenter.heroku.com/articles/heroku-cli
4. pycharm project 관리
4-1. dash를 실행시켰던 .py파일에서 아래의 코드가 있는지 확인하고 추가합니다.
app = dash.Dash(__name__)
server = app.server # 이 라인을 추가해주어야 함
4-2. 파이참 프로젝트 전체 폴더의 가장 루트 단에 dash_file.py 파일이 있어야 하고 이외의 파일들은 assets, data등의 폴더로 정리하여 보관합니다.
4-3. pycharm terminal에서 아래의 코드를 실행시켜 필요한 라이브러리를 설치합니다.
pip install numpy==1.18.1
pip install pandas==1.0.0
pip install plolty==4.8.0
pip install dash==1.12.0
pip install gunicorn==20.0.4 # heroku에서 app을 실행시키기 위해 필요한 라이브러리
* 저는 위의 라이브러리들을 이미 사용하고 import 해놓은 상태라 print(library_name.__version__)을 통해 버전 확인만 했습니다.
그래서 gunicorn 설치를 안 해서 나중에 애를 좀 먹었으니 위의 라이브러리 버전과 다르더라도 설치는 꼭 해주셔야 합니다.
4-4. .gitignore 파일 생성
dash_file.py 파일이 있는 디렉토리에 .gitignore 파일을 만듭니다. 파이참에서 우클릭-New-File로 생성하면 됩니다.
# 파일명
.gitignore
# 코드 내용
venv
*.pyc
.env
.DS_Store
4-5. Procfile 파일 생성
dash_file.py 파일이 있는 디렉토리에 Procfile을 생성합니다. 위와 동일
#파일명
Procfile
#코드 내용
web: gunicorn dash_file:server
# dash_file은 dash 코드를 작성한 .py 파일의 파일 확장자명을 제거한 파일 이름
4-5. requirements.txt 파일 생성
앞서 설치한 라이브러리를 포함해서 dash를 배포하는 데 필요한 라이브러리명을 저장한 파일
이건 따로 파일을 생성할 필요 없이 pycharm terminal에서 pip freeze > requirements.txt 를 입력하면 자동으로 생성됩니다.
requirements.txt 파일을 열어보면 앞서 설치했던 numpy, pandas, gunicorn등과 기타 라이브러리들이 적혀있습니다.
5. pycharm terminal에 heroku login 입력해서 로그인
- 이후 인터넷 창이 뜨고 로그인 버튼으로 로그인하고 창을 닫으면 됨
6. pycharm terminal에서 heroku git:remote -a APPNAME 입력
APPNAME은 2번 과정에서 heroku에서 생성한 app name
이후 명령어는 모두 pycharm terminal에서 입력
7. git add .
8. git commit -am "initial launch"
9. git push heroku master (시간이 조금 걸림)
모두 완료한 후에 터미널에 표시된 주소를 클릭해도 되고, 아니면 heroku의 dashboard에서 해당되는 app-name을 클릭한 후에 우측 상단에 Open-app을 클릭해도 됩니다.
* heroku logs --tail 을 입력하라는 오류 창이 뜰 수도 있는데 이럴 땐 터미널에 heroku logs --tail 을 입력해서 어디에서 오류가 생겼는지 확인하면 됩니다.
- pycharm에서 만든 파일들의 코드에 오타가 있을 수도 있고, 저 같은 경우에는 처음에 pip install gunicorn을 하지 않아서 오류가 생겼었습니다.
이외에 정상적으로 pycharm에서 dash가 실행되고, 위의 과정들을 틀리지 않고 실행하셨다면 정상적으로 배포될 것입니다.
** 위의 내용은 파이참에서 작성된 것을 기준으로 한 것이고,
깃허브를 통해 배포하는 것도 있어서 링크 공유합니다.
https://mjs1995.tistory.com/184
'파이썬 > Flask' 카테고리의 다른 글
heroku python 배포 buildpack 변경 (0) | 2021.06.09 |
---|---|
파이썬 Flask로 웹페이지 만들기 - url_for 사용 (4) | 2020.08.03 |
파이썬 Flask로 웹페이지 만들기 (1) | 2020.07.31 |