PythonのWEBアプリケーションフレームワークといえばDjangoが有名ですが、近年ではFlaskの人気が急速に高まっています。実際、AWS LambdaやGCP(Google Cloud Platform)のCloud FunctionsでPythonを選択するとデフォルトフレームワークとしてFlaskが採用されています。またPython財団が報告した「Python Developers Survey 2018 Results」では、FlaskがDjangoを上回る人気を獲得しています。
Pythonを学習する方は、まず日本語文献も豊富なDjangoから学習することが多いと思いますが、私の場合何をトチ狂ったかFlaskに手をつけました。WEBアプリケーションフレームワークが何かさえよく理解できていなかった段階でかなり苦戦しましたが、英語の公式ドキュメントを中心に粘りつよく学習した結果、自前のアプリケーションを作成するまでには理解できるようになりました。なので、かなり前からFlaskの記事については書こうと思っていたのですが、めんどくさがりが出て終始放置していました。しかし、これから何回かに分けて書いていこうと思います。内容については基本的に英語で書かれた公式ドキュメントをまとめていく形にします。
今回は、初回ということでFlaskの開発環境の構築方法についてです。非常に簡単ですが、これを知っているだけでローカルPCを汚さなくて済むので、必須知識だと思います。この記事が一人でも多くの方の参考になれば幸いです。
※ 当記事は、2019年9月時点のFlaskや関連パッケージ等の情報に基づいて記載しています。今後のアップデート等により記事内容のコードが適切に実行できないことも考えられますので、バージョン情報等を事前に確認頂ければと思います。
1. 実行環境
今回の実行環境は以下になります。
- OS: MAC OSX
- シェル: bash
- Python: 3.7.3
- Pythonパッケージ
- Flask: 1.1.1
- venvはPythonの標準モジュール
2. 開発環境構築の流れ等
まずは開発環境を構築します。開発環境はローカルにインストールした他のPythonパッケージの影響を受けないよう、閉じた環境を作るためのものです。Pythonで開発環境を構築する方法は色々とありますが、今回はFlaskの公式ドキュメントに沿って、標準モジュールのvenv
を利用します。開発環境の構築はこのページを参照しています。
開発環境構築の手順は次の流れになります(pythonは既にインストールされていることを前提とします)。
- プロジェクト用フォルダを作成し、そのフォルダに移動
- 標準モジュールのvenvを実行し、開発環境構築用プログラムをインストール
- venvをアクティベートして開発環境をオンに設定
- 必要なパッケージをインストールする
- 開発環境を終える時はvenvをディアクティベート
それでは次の章で具体的に構築していきます。
3. 開発環境を構築してみる
今回は試しに開発環境を構築してみるということで、開発環境用のフォルダ名を「test」とします。また、基本的にターミナルにシェルスクリプトを入力して実行していきます。
3-1. プロジェクト用フォルダの作成
まずは、プロジェクト用のフォルダを作成します。今回はホームディレクトリ直下に「test」フォルダを作成し、そのフォルダ内に移動します。
$ mkdir test # testフォルダの作成
$ cd test # testフォルダに移動
3-2. venvを実行し、開発環境用のプログラムをインストール
次に開発環境を構築するためのプログラムをインストールします。
test$ python3 -m venv venv # 開発環境構築用プログラムをvenvフォルダに格納
文法的にはpython3 -m venv <フォルダ名>
となります。-m
はモジュールをスクリプトとして実行するためのPythonの補助コマンドになります。極論で言えば、.py
を指定せずにPythonプログラムを実行できるということです。
3-3. 開発環境をアクティベート
開発環境の下準備ができたので、次は開発環境をアクティベート、有効な状態にします。ドットが最初にある点に注意が必要です。
test$ . venv/bin/activate # 開発環境をアクティベート
これを実行するとターミナルのコマンドプロンプトが次の様に変わります。
(venv)test$
この様になれば開発環境のアクティベートが完了です。
3-4. Flaskをインストールする
開発環境をアクティベートすると、ローカル環境(PC)の影響を受けない純粋なPython環境になります。この場合のローカル環境の影響を受けないとは、OSの他の機能を使えないということではなく、ローカルPCに直にインストールしたPythonパッケージなどが利用できなくなるという意味です。ローカル環境を遮断することで、純粋に作成するプログラムに必要なモジュールだけからなる環境を構築できます。
venvで開発環境を構築すると大抵の場合、古いpip
になっているので、pipをアップグレードしflask
をインストールします。
(venv)test$ pip install --upgrade pip # pipのアップグレード
(venv)test$ pip install flask # flaskのインストール
これでflaskがインストールされました。あとは、プログラムを書いて作成していくだけです。
3-5. 開発環境をオフにする
プログラムを終了した際などは開発環境をオフにします。そのやり方は以下になります。
(venv)test$ deactivate # ディアクティベート
test$ # ディアクティベートしたあとのコマンドプロンプト
これで開発環境がオフになりました。
4. 最後に
以上が開発環境の構築方法です。プログラミングをするときに開発環境をアクティベートし、終了したらディアクティベートするのが基本的な流れです。次の記事からは具体的にFlaskについてまとめていきたいと思います。読んで頂き、ありがとうございました。この記事が参考になりましたら幸いです。