【Python】Webアプリ開発のためにFlaskをインストールする

【Python】Webアプリ開発のためにFlaskをインストールする プログラミング

「PythonでWebアプリケーションを開発したい」
「PythonでAPIレベルのモノを作りたい」

このような場合には、Flaskがオススメです。
この記事では、Flaskについて解説しています。

本記事の内容

  • Flaskとは?
  • Flaskのシステム要件
  • Flaskのインストール
  • Flaskの動作確認

それでは、上記に沿って解説していきます。

Flaskとは?

Flaskは、Webアプリケーションフレームワークです。
そして、Pythonのライブラリとして公開されています。

ここまでの説明なら、単純で済みます。
しかし、Flaskを理解するためには以下の知識が必要です。

  • Webサーバー
  • アプリケーションサーバー
  • WSGI(仕様)

これらを説明していくと、日が暮れてしまいます。
それに、みなさんも途中で嫌になる確率が高いです。

それでも興味がある方は、次の記事をご覧ください。
Webサーバーとアプリケーションサーバーの違いについて、説明しています。

ここでは、端的に説明します。
まず、Flaskは次のどちらでもありません。

  • Webサーバー
  • アプリケーションサーバー

Flaskの説明の前に、WSGIの正体を明らかにしておきましょう。
WSGIとは、PythonのアプリケーションをWebアプリとして動かすための仕様のことです。

普通にコーディングすると、Webサーバー上でPythonは動きません。
しかし、WSGIに対応したアプリケーションはWebサーバーで動きます。

正確には、アプリケーションサーバーと連携した結果がWebサーバーで表示されます。
この辺の詳細は、上記で案内した記事を確認してください。

そして、FlaskはWSGIに準拠しています。
したがって、Flaskで開発したアプリケーションはWebサーバーで動くのです。

どうでしょうか?
内容について来れているでしょうか?

正直、初めは雰囲気の把握だけで構いません。
実際に、Flaskを触ってみれば理解できてくることもありますからね。

最後に少しだけ、追加で説明します。
WSGIには、いろいろとルールがあります。

そのルールを意識せずに開発できるのが、フレームワークの利点です。
Flaskは、そのフレームワークの中でも有名なモノと言えます。

以上、Flaskについて説明しました。
次は、Flaskのシステム要件を確認します。

Flaskのシステム要件

現時点(2021年12月)でのFlaskの最新バージョンは、2.0.2となります。
この最新バージョンは、2021年10月4日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

そして、サポート対象となるPythonのバージョンは3.6以降となります。
しかし、Python 3.6はもう利用はやめるべきでしょう。

以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

2021年でPython 3.6のサポート期限は終了となります。
トラブルなくPythonを使いたいなら、Python 3.7以降を利用しましょう。

まとめると、FlaskはPythonのバージョンだけ注意です。
それ以外は、特にありません。

以上、Flaskのシステム要件を説明しました。
次は、Flaskをインストールしていきましょう。

Flaskのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.9.9

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        21.3.1
setuptools 59.5.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、Flaskのインストールです。
Flaskのインストールは、以下のコマンドとなります。

pip install Flask

インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

$ pip list
Package      Version
------------ -------
click        8.0.3
Flask        2.0.2
itsdangerous 2.0.1
Jinja2       3.0.3
MarkupSafe   2.0.1
pip          21.3.1
setuptools   59.5.0
Werkzeug     2.0.2
wheel        0.36.2

テンプレートエンジンのJinja2が、インストールされています。
Jinja2については、次の記事で説明しています。

でも、依存関係のあるパッケージはそれほど多くありません。
その意味では、Flaskは比較的容易に導入できると言えます。

以上、Flaskのインストールを説明しました。
次は、Flaskの動作確認を行います。

Flaskの動作確認

Flaskの動作確認を行っていきます。
動作確認用のコードは、以下。

test.py

from flask import Flask

app = Flask(__name__)


@app.route('/')
def fnc_a():
    return "rootページです"


@app.route('/sub')
def fnc_1():
    return "subページです"


if __name__ == '__main__':
    app.run()

上記コードのスクリプトを実行します。

python test.py 

実行すると、次のように表示されます。

$ python test.py 
 * Serving Flask app 'test' (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: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

いろいろ表示されていますが、「http://127.0.0.1:5000/」に注目。
ブラウザでこのURLにアクセスします。

次は、「http://127.0.0.1:5000/sub」にアクセス。

ここまでの結果を見れば、コードの説明は不要でしょう。
あと、以下の警告を確認しておきます。

WARNING: This is a development server. Do not use it in a production deployment.

「あれ?Webサーバーとかアプリケーションサーバーとかどうなっているの?」

このように疑問に感じた人もいるはずです。
実際、私も感じました。

実は、Flaskには簡易アプリケーションサーバーが含まれているのです。
「Werkzeug」というパッケージ名でインストールされています。

その簡易サーバーを使って、Flaskでの開発を進めることが可能です。
あくまで、簡易サーバーということを理解しておきましょう。

だからこそ、「本番環境では利用するな!!」と警告されているわけです。
なお、起動した簡易Webサーバーの停止は「CTRL+C」で行います。

以上、Flaskの動作確認を説明しました。

タイトルとURLをコピーしました