11-Flask

Flask(Part.1)| 【概要と環境構築 】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

  • Flaskの概要を理解する。
  • Flaskの開発環境を構築できる。

Flaskの概要

Flaskの概要

FlaskはPythonで書かれた軽量なWebフレームワークです。シンプルで柔軟性が高いため、プロジェクトに応じたカスタマイズが容易な特徴を持ちます。

例えば、データベース機能などは拡張機能として利用する仕組みとなっていて、デフォルトでは組み込まれていません。

このように、必要な機能を追加でインストールし、利用することができるカスタマイズ性の高いWebフレームワークとなっています。

Flaskは、ソフトウェアの使用、コピー、再配布が自由なBSDライセンスで提供されています。

開発環境の構築

前提条件

この記事で利用する開発環境は「python3.11」「Visual Studio Code」を利用します。

前提条件

  • 「python3.11」がインストール済
  • 「Visual Studio Code」がインストール済
  • 「Git」がインストール済

pythonのインストール方法は次の記事で確認して下さい。

Python(Part.1)| Pythonの概要とインストール(Windows11)pythonのインストールについて記事にしています。pythonソフトウェア財団へのアクセスとpythonインストーラーのダウンロード、インストールの手順について扱っています。...

仮想環境の構築

この記事では、venvモジュールを利用した仮想環境を利用してFlaskでのシステム開発を行います。Windowsでコマンドプロンプトを開いて次の要領でコマンドを入力します。

python -m venv <仮想環境のディレクトリ名>

この記事ではディレクトリの作成場所をデスクトップ以下にします。コマンドプロンプトを開き、プロンプトが指定するカレントディレクトリをDesktopにします。

# 次のようにcd DesktopコマンドでDesktopに移動します。
C:\Users\user>cd Desktop

# プロンプトの表示が次のように変わります。
C:\Users\user\Desktop>

# 続けてpython -m venv <仮想環境のディレクトリ名>コマンドを入力します。
# 本記事ではディレクトリ名をvenvとしてFlaskProjディレクトリ内に作成します。
C:\Users\user\Desktop>python -m venv FlaskProj\venv

コマンドを入力すると次のように仮想環境venvを持つFlaskProjディレクトリが作成されます。

仮想環境の有効化

作成した仮想環境を利用するには有効化する必要があります。有効化には次のコマンドを利用します。

<仮想環境のディレクトリ名>\Scripts\Activate

C:\Users\user\Desktop>FlaskProj\venv\Scripts\Activate

# 仮想環境が有効化されます。
(venv) C:\Users\user\Desktop>

仮想環境を無効化するには次のように入力します。

(仮想環境のディレクトリ名) C:\Users\user\Desktop>deactivate

(venv) C:\Users\user\Desktop>deactivate

# 仮想環境が無効化されます。
C:\Users\user\Desktop>

Flaskをインストールする

仮想環境の作成と有効化ができたら、Flaskをインストールします。Flaskのインストールは次のコマンドで行います。

(仮想環境のディレクトリ名) C:\Users\user\Desktop>pip install flask

C:\Users\user\Desktop>FlaskProj\Scripts\Activate

# 仮想環境が有効化されます。
(venv) C:\Users\user\Desktop>

# pipのアップデート
(venv) C:\Users\user\Desktop>python.exe -m pip install --upgrade pip
# Flaskのインストール
(venv) C:\Users\user\Desktop>pip install flask

次のコマンドでFlaskと同時にインストールしたパッケージも確認できます。

(仮想環境のディレクトリ名) C:\Users\user\Desktop>pip list

# Flaskと同時にインストールしたパッケージの確認
(venv) C:\Users\user\Desktop>pip list

Visual Studio Codeで拡張機能を追加

Visual Studio Codeには次の拡張機能をインストールします。

拡張機能の検索とインストールは左側メニューにある次のアイコンから行います。

検索ボックスに「python」と入力して表示される次の拡張機能をインストールします。

Python拡張機能

Fileタブの「Open Folder」から仮想環境のディレクトリを開きます。

次の表示が出たら「Yes, I trust the author」をクリックします。

次のように仮想環境のディレクトリ名が表示されます。

※この記事ではFlaskProj内のvenv

Visual Studio Codeのターミナルを開いて仮想環境をアクティブにします。(これまで利用したコマンドプロンプトは閉じて構いません。)

次のコマンドでRuffをインストールします。

Ruff は、Python のための超高速なリント & フォーマッタ です。
Flake8、Black、isort、Mypy などの機能を 1つのツール にまとめ、高速でコードをチェック & 整形が行えます。

(venv) C:\Users\user\Desktop\FlaskProj>pip install ruff

# ruffのインストール
(venv) C:\Users\user\Desktop\FlaskProj>pip install ruff

次にVisual Studio Codeの拡張機能からRuffをインストールします。

Ruff拡張機能

FlaskProjディレクトリの直下に「pyproject.toml」ファイルを作成して次の通り記述します。

[tool.ruff]
# 最大行長の設定
line-length = 88  # Blackのデフォルト値に合わせる

[tool.ruff.lint]
# 使用するルール (Flake8 + isort)
select = ["E", "F", "I"]
# 除外するルール
ignore = ["E501"]  # E501: 長すぎる行を許容 (Blackと競合しやすいため)
# 除外するファイル・ディレクトリ
exclude = ["venv", "migrations", "__pycache__"]

# isort の設定 (インポート順序)
[tool.ruff.lint.isort]
known-first-party = ["app"]
combine-as-imports = true

# フォーマット設定 (Blackと同じ動作)
[tool.ruff.format]
docstring-code-format = true  # docstring 内のコードも整形

VSCode で Ctrl + Shift + P を押して、settings.json を開き、以下を追加します。

{
    "python.linting.enabled": true,
    "python.linting.ruffEnabled": true,
    "editor.formatOnSave": true,
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff"
    }
}

続けてVSCode のコマンドパレット (Ctrl + Shift + P) で Python: Select Interpreter を検索し、「./FlaskProj/venv/Scripts/python.exe」(ワークスペースの設定)を選択します。

設定が終わったら、Ruff の実行を行います。

(venv) C:\Users\user\Desktop\FlaskProj>ruff check .
#–fixの-はひとつでなくふたつあります。「ーーfix」
(venv) C:\Users\user\Desktop\FlaskProj>ruff check . –fix
(venv) C:\Users\user\Desktop\FlaskProj>ruff format .

# コードのリント
(venv) C:\Users\user\Desktop\FlaskProj>ruff check .

# 自動修正
(venv) C:\Users\user\Desktop\FlaskProj>ruff check . --fix

# コードフォーマット(pythonのファイルがない、もしくはすでにフォーマット済みの場合は何も表示されません。)
(venv) C:\Users\user\Desktop\FlaskProj>ruff format .

pre-commit をインストールして、コミット前に Ruff を自動実行できるように設定します。

次のコマンドで pre-commit をインストールします。

(venv) C:\Users\user\Desktop\FlaskProj>pip install pre-commit

# pre-commitのインストール
(venv) C:\Users\user\Desktop\FlaskProj>pip install pre-commit

.pre-commit-config.yamlファイルをFlaskProjディレクトリの直下に作成します。

repos:
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.1.9
    hooks:
      - id: ruff
      - id: ruff-format

次のコマンドで pre-commit をセットアップします。

(venv) C:\Users\user\Desktop\FlaskProj>pre-commit install

git initでGitリポジトリの初期化を行っていないとエラーが発生します。この場合(この記事の階層ではFlaskProjでgit initコマンドを使用します。)
※Gitが既にインストールされていることが前提です。

# git initの実行
(venv) C:\Users\user\Desktop\FlaskProj>git init
# pre-commitのインストール
(venv) C:\Users\user\Desktop\FlaskProj>pre-commit install

.gitignoreファイルに「venv/」に追加します。(.gitignoreファイルの作成場所はFlaskProjの直下です。)

#.gitignoreの中身

venv/
__pycache__/
*.pyc
*.pyo

コードフォーマッターはRuffでなく、次の4種類のパッケージを個別にインストールしても同じ機能が利用できます。但し、その場合は、次の設定が必要。

  • Python >Linting: Enabledのチェックを入れる。
  • Python > Linting Pylint Enabledのチェックを外す。
  • Python >Linting: Flake8 Enabledのチェックを入れる。
  • flake8 とblackの最大文字数を合わせる。(–max-line-length=88で88文字)
  • Python > Formatting: Providerをblackに変更。
  • Editor: Format On Saveにチェックを入れる。
  • settings.jsonファイルで”editor.codeActionOnSave”:{“source.organizeImports”:true}に変更。
  • Python Linting: Mypy Enabledにチェックを入れる。
flake8:PEP8に沿っているかコードをチェック
black:PEP8に沿ったコードに整形
isort:import文の整理
mypy:入力ヒントの表示

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
11-Flask

Flask(Part.2)| 【MVTの概要とアプリケーションの起動方法 】

2025年2月13日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site