※ubuntu20.05はデスクトップ版
flaskとは
PythonのWebアプリケーションフレームワークで小規模向けとなります。 対して人気のあるDjangoはフルスペックWebアプリケーションフレームワークです。
venvとは
venvとは仮想環境作成モジュールです。 仮想環境にすることによりインストールしたモジュール、パッケージなどが別環境に影響を与えず使用できます。
仮想環境ではない場合下記のような面倒なことが起きる場合があります。
- 2つプロジェクトを作成し、それぞれ同じモジュールでVer違うものを使いたい場合面倒。
- パッケージの依存関係でうわあああああああってなるのも面倒。
- 環境が汚されていやあああああああってなるのも面倒
こういったことを避けるためにvenvを使用して仮想環境で独立して開発します。
手順
ubuntu20.04なので既にpython3.8はインストール済
- pip3、ツール類インストール
sudo apt install build-essential python3-pip libffi-dev python3-dev python3-setuptools libssl-dev
- sandbox上で動かすため仮想環境インストール
sudo apt install python3 -venv
- 適当な場所にディレクトリを作成して移動
mkdir venv && cd test
- 仮想環境作成 (python3 -m venv 開発名)
python3 -m venv venv
- activate
source venv/bin/activate
※deactivateは仮想環境に入っている状態でdeactivate
- flaskインストール
pip3 install flask
- flask ver確認
flask --version
webサーバ (Helloを表示)
- venvフォルダにhello.pyファイルを作成してプログラムしていく
# flask.Flask クラスを Flask という変数に代入 from flask import Flask app = Flask(__name__) # @で始まる行はデコレータ # 次の行で定義する関数やクラスに対して何らかの処理を行う @app.route('/') # 下記関数を上記URLにマッピング def hello(): hello = ("hello"+" ")*4 return hello # 下記の意味はここがわかりやすい # https://programming-study.com/technology/python-if-main/ if __name__ == "__main__": app.run(debug=True)
- 仮想環境(venv)に入る
source venv/bin/activate
- 実行
python3 hello.py
- ブラウザで確認 http://127.0.0.1:5000/