Streamlit로 만든 웹 앱을 Heroku에 배포

StreamlitHeroku 를 사용해 간단하게 화상 가공을 실시하는 Web 페이지를 만들 수 있었으므로, 그 도입을 남깁니다.

만든 앱



데모 동작





데모 페이지

소스 페이지 (Github)

작업 로그 : streamlit로 이미지 처리 앱을 만듭니다. :: tomowarkar의 기술 블로그 — 3보 앞으로 2걸음 내려간다

로컬로 실행


pip install streamlit
streamlit run https://github.com/tomowarkar/stapp/blob/master/app.py

※ 얼굴 검출 등 일부 기능은 사용할 수 없습니다

Streamlit이란?



Streamlit — The fastest way to build custom ML tools

Streamlit의 오픈 소스 앱 프레임워크는 데이터 과학자와 기계 학습 엔지니어가 몇 시간 안에 아름답고 고성능 앱을 만드는 가장 쉬운 방법입니다. 순수한 파이썬으로 모두. 모두 무료입니다. Streamlit — The fastest way to build custom ML tools (Google 한국어 번역)

이 기사의 목표


  • Heroku에 Streamlit로 만든 웹 앱을 배포합니다.



  • 전제



  • Heroku 계정Heroku CLI 준비가 필요합니다
  • pipennv를 사용하여 라이브러리 관리를 수행하고 있지만 물론 requirements.txt

  • 작업 공간 만들기, streamlit 설치


    $ mkdir stapp
    $ cd stapp
    $ pipenv install --python 3
    $ pipenv install streamlit
    

    requirements.txt를 사용하는 경우


    $ mkdir stapp
    $ cd stapp
    $ pip insatll streamlit
    $ echo streamlit==0.60.0 >requirements.txt
    

    앱 만들기


    $ touch app.py
    

    app.py
    import streamlit as st
    
    st.title("Hello Streamlit!!")
    
    st.subheader("This is calculator.")
    
    a = st.slider("a: ", 0, 10, 5, 1)
    b = st.slider("b: ", 0, 10, 5, 1)
    
    st.write(f"{a} x {b} = {a*b}")
    
    

    단지 이것만

    Heroku용 설정 1


    $ echo "web: streamlit run --server.enableCORS false --server.port \$PORT app.py" >Procfile
    

    Git 리포지토리 초기화


    $ git init
    $ git add .
    $ git commit -m "first commit"
    

    Heroku 앱 만들기


    $ heroku create
    $ git push heroku master
    $ heroku open
    

    안전한 웹 사이트가 표시 되었습니까?

    다음 단계



    Tutorial: Create a data explorer app — Streamlit 0.61.0 documentation

    Streamlit의 공식 자습서는 정확하게 흥미 롭습니다!

    결론



    어땠습니까? 빠르면 10분도 걸리지 않고 웹 앱을 공개할 수 있습니다.

    streamlit은 커스터마이즈성이 부족하지만, pandas 떨어뜨릴 수 있습니다.

    파이썬만으로 완결되어 부담없이 아티팩트를 출력할 수 있는 것이 매우 좋네요.



    Hosting streamlit on Heroku - Questions - Streamlit 

    좋은 웹페이지 즐겨찾기