Python + Flask로 만드는 웹 애플리케이션 (VScode 사용) # 1 ~ 가상 환경 구축 ~

배경



DL, ML 등, 세상에서 이른바 AI 기술이라고 불리는 것을 공부해, 프로그래밍으로 실장할 수 있었다고 해도, 그것을 사내에 넓히려고 하면 코딩의 벽이 발생해, 좀처럼 퍼지지 않습니다.

목적



부내에서 「Jupyter notebook을 넣어 python 사용해 기억해 주세요」라고 해도, 평상시 일로 프로그래밍을 취급하지 않는 사람으로부터 하면, 습득까지 시간이 걸리기 때문에, Web 어플리케이션으로서 데이터를 읽어내 포치포치하면 움직일 수 있다! 라는 UI를 만들 수 있으면 좋겠다고 생각 공부 개시. 얻은 지식을 남기고 싶습니다.

수단



이번에는 VScode + Flask를 사용하여 만들겠습니다.
먼저 간단한 웹 페이지를 만듭니다.
* 현재는 인터랙티브한 그래프를 이용하기 위해 Plotly의 Dash라는 라이브러리를 도입하여 개발하고 있습니다. 그 Dash로 동작시키고 있는 GIF를 참고까지 첨부합니다.
여기까지의 길을 앞으로 하나씩 소개할 수 있으면 좋겠습니다(자신의 비망록적인 의미도 강하다).
Dash도 Flask가 기반이기 때문에, 우선은 Flask의 기초로부터 복습합니다.


환경



이번에는 Windows10에 miniconda4.7.12를 설치한 상태에서 이야기를 진행합니다.
conda의 가상 환경은 사용하지 않습니다. 파이썬은 3.7.3이 설치되어 있습니다.

절차


  • 1. 원하는 위치에 프로젝트(작업 공간) 폴더 만들기C:\project\vscpython\Flasktest   이번에는 Flaktest라고 명명

  • 2. 작업공간 폴더로 VScode로 로드 가능



  • 3. Flask Python 환경 구축
    터미널 시작 (Ctrl + Shift + @)
    Flasktest 폴더에 가상 환경을 만듭니다.
    venv를 사용합니다.python –m venv <仮想環境名:ここではFlasktestとした> 에서 작성

  • 커맨드 팔레트 기동(Ctrl + Shift + P) → interpreter를 입력. 작성한 환경 선택.

    왼쪽 하단의 창에 작업 공간 이름과 환경 이름이 표시되면 OK


    가상 환경을 활성화하기 위해 터미널을 재부팅합니다.


    환경이 바뀐다.


    "시험에 적당하게 a.py 파일을 작성한다"
    ⇒ Linter pylint Install 화면이 나온다. 설치하면 구문 체크해 준다.



    필요한 라이브러리 설치
    이번에는 Flask를 인스톨

  • 4. Flask Python 구성
    Flask가 디버깅할 수 있도록 구성합니다.
    먼저 Flask 공식 사이트에 나열된 Flask 앱을 ​​만듭니다.
    app.py 파일을 만들고 다음과 같이 작성합니다.

  • app.py
    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello_world():
      return "Hello, World!"
    

    VScode에서 F5⇒디버그의 구성을 듣기 때문에 Flask를 선택해 실행



    app.py가 실행됩니다.
    Running on http://...의 URL을 클릭해 Hello! World!가 브라우저로 표시되면 성공입니다.

    참고로 구성은 .vscode 폴더의 launch.json 파일에 설명되어 있습니다.


    이 코드를 바꾸면 동작시킬 py 파일이나 host, port 등을 설정할 수 있습니다.
    예를 들어 LAN 내의 다른 PC에서 액세스할 때는 host, port를 추기합니다.

    launch.json
    {
    
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Flask",
                "type": "python",
                "request": "launch",
                "module": "flask",
                "env": {
                    "FLASK_APP": "app.py", #起動させるpyファイルを指定
                    "FLASK_ENV": "development",
                    "FLASK_DEBUG": "0"
                },
                "args": [
                    "run",
                    "--no-debugger",
                    "--no-reload",
                    "--host=0.0.0.0", #追記
                    "--port=5000", #追記
                ],
                "jinja": true
            }
        ]
    }
    

    이상과 같이 기술하는 것으로, Flask를 달리고 있는 PC의 IP주소 혹은 컴퓨터명을 브라우저에 입력하면 액세스 할 수 있게 됩니다.

    좋은 웹페이지 즐겨찾기