CentOS에서 Flask 개발 환경 구축

간단한 웹 페이지를 만들려고 생각 환경 구축했기 때문에 비망으로
번역이 좀 오래된 CentOS 사용

거친 흐름


  • Python3을 Install
  • Python 가상 환경 (venv) 시작
  • Flask를 사용하여 브라우저에서 HelloWorld 출력

  • Python3에서 Install


  • Ubuntu16.4에서는 처음부터 들어 있었기 때문에 Linux 시스템에는 처음부터 들어 있다고 생각했습니다.

    OS 버전 확인


    $ cat /etc/redhat-release
    CentOS Linux release 7.6.1810 (Core)
    

    yum으로 설치


    # yumリポジトリにパッケージを追加
    $ yum install -y https://centos7.iuscommunity.org/ius-release.rpm
    $ yum search python36
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: ty1.mirror.newmediaexpress.com
     * epel: nrt.edge.kernel.org
     * extras: ty1.mirror.newmediaexpress.com
     * updates: ty1.mirror.newmediaexpress.com
    =========================================================================== N/S matched: python36 ===========================================================================
    python36-cairo-devel.x86_64 : Libraries and headers for python36-cairo
    python36-greenlet-devel.x86_64 : C development headers for python36-greenlet
    python36-psycopg2-tests.x86_64 : Test suite for python36-psycopg2
    
    
    # 必要なモジュールをインストール
    $ yum install python36u python36u-libs python36u-devel python36u-pip
    
    # インストールできたか確認
    $ python3.6 -V
    Python 3.6.8
    
    # モジュールの用途は info で確認
    $ yum info python36u
    

    pip 사용


    # pipの場所を確認
    $ which pip3.6
    /usr/bin/pip3.6
    
    # シンボリックリンクの作成
    $ ln -s /usr/bin/pip3.6 /usr/local/bin/pip
    
    # pipコマンドが使用可能に
    $ pip --version
    pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
    

    파이썬 가상 환경 (venv) 시작



    표준 기능으로 되어 있기 때문에 pip 에 의해 새로 설치할 필요는 없다

    프로젝트 만들기


    # 今回はworkspace-pyというディレクトリを作成し移動
    $ cd [project-dir]
    
    # 今回はtest-flaskというプロジェクト名で作成
    $ python3 -m venv [project-name]
    
    # 以下のようなディレクトリになる
    $ tree -L 3
    .
    └── test-flask
        ├── bin
        │   ├── activate
        │   ├── activate.csh
        │   ├── activate.fish
        │   ├── easy_install
        │   ├── easy_install-3.6
        │   ├── pip
        │   ├── pip3
        │   ├── pip3.6
        │   ├── python -> python3
        │   └── python3 -> /usr/bin/python3
        ├── include
        ├── lib
        │   └── python3.6
        ├── lib64 -> lib
        └── pyvenv.cfg
    

    가상 환경 시작


    $ source test-flask/bin/activate
     (test-flask) [root@xxxx workspace-py]# 
    
    # versionを確認
     (test-flask) [root@xxxx workspace-py]# python -V
     Python 3.6.8
    

    Flask를 사용하여 브라우저에서 HelloWorld 출력



    flask 설치


    (test-flask) [root@xxxx workspace-py]# pip install flask
    (test-flask) [root@xxxx workspace-py]# mkdir app
    (test-flask) [root@xxxx workspace-py]# touch helloWorld.py
    

    파일 작성


    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World'
    
    if __name__ == "__main__":
        app.run(debug=True, port=8888, threaded=True)
    

    서버 시작


     (test-flask) [root@xxxx workspace-py]# python test-flask/app/helloWorld.py 
      * Serving Flask app "helloWorld" (lazy loading)
      * Environment: production
        WARNING: This is a development server. Do not use it in a production deployment.
        Use a production WSGI server instead.
      * Debug mode: on
      * Running on http://127.0.0.1:8888/ (Press CTRL+C to quit)
      * Restarting with stat
      * Debugger is active!
      * Debugger PIN: 150-485-634
     127.0.0.1 - - [10/Mar/2020 19:16:23] "GET / HTTP/1.1" 200 -
    
    

    시작 확인





    결국 디렉토리는 이런 느낌


    [root@xxxx workspace-py]# tree -L 3
    .
    └── test-flask
        ├── app   # 追加したファイル
        │   └── helloWorld.py
        ├── bin
        │   ├── activate
        │   ├── activate.csh
        │   ├── activate.fish
        │   ├── easy_install
        │   ├── easy_install-3.6
        │   ├── flask
        │   ├── pip
        │   ├── pip3
        │   ├── pip3.6
        │   ├── python -> python3
        │   └── python3 -> /usr/bin/python3
        ├── include
        ├── lib
        │   └── python3.6
        ├── lib64 -> lib
        ├── pip-selfcheck.json
        └── pyvenv.cfg
    

    참고



    CentOS7에 Python3 시스템을 설치하는 단계
    htps : // 코 m / 슈 1 납 / ms / 3 푸 c0fc0fc 다 푸 c051b7
    Python+Flask로 웹 애플리케이션 구축
    htps : // 코 m / t- 이구치 / ms / f7847729631022 A 5041f
  • 좋은 웹페이지 즐겨찾기