Flaskは、Python用の無料のオープンソースマイクロWebフレームワークであり、開発者が安全でスケーラブルで保守可能なWebアプリケーションを構築できるように設計されています。 FlaskはWerkzeugandに基づいており、テンプレートエンジンとしてJinja2を使用しています。
Djangoとは異なり、デフォルトでは、Flaskには、ORM、フォーム検証、またはサードパーティライブラリによって提供されるその他の機能は含まれていません。 Flaskは、Flaskアプリケーションに機能を追加するPythonパッケージである拡張機能を念頭に置いて構築されています。
UbuntuにFlaskをインストールする方法はいくつかあります。
Flaskパッケージは公式のUbuntuリポジトリに含まれており、apt
を使用してインストールできます。 パッケージマネージャー。これはUbuntu20.04にFlaskをインストールする最も簡単な方法ですが、仮想環境にインストールするほど柔軟ではありません。また、リポジトリに含まれているバージョンは、Flaskの最新バージョンより遅れている可能性があります。
仮想環境を使用すると、さまざまなPythonプロジェクト用に分離された環境を作成できます。このようにして、1台のコンピューターに複数の異なるFlask環境を設定し、他のFlaskインストールに影響を与えることを心配せずに、プロジェクトごとに特定のバージョンのモジュールをインストールできます。 Flaskをグローバル環境にインストールする場合、コンピューターにインストールできるFlaskバージョンは1つだけです。
この記事では、Python仮想環境内のUbuntu20.04にFlaskをインストールする方法について説明します。
Ubuntu 20.04へのFlaskのインストール#
Ubuntu20.04にはPython3.8が付属しています。次のように入力して、Pythonがシステムにインストールされていることを確認できます。
python3 -V
出力は次のようになります。
Python 3.8.5
仮想環境を作成するための推奨される方法は、venv
を使用することです。 python3-venv
によって提供されるモジュール パッケージ。次のコマンドを実行して、パッケージをインストールします。
sudo apt install python3-venv
モジュールがインストールされると、Flaskアプリケーションの仮想環境を作成する準備が整います。
Python3仮想環境を保存するディレクトリに移動します。これは、ホームディレクトリ、またはユーザーが読み取りと書き込みのアクセス許可を持っているその他のディレクトリにすることができます。
Flaskアプリケーション用の新しいディレクトリを作成し、それに切り替えます:
mkdir flask_app && cd flask_app
ディレクトリ内で次のコマンドを実行して、仮想環境を作成します。
python3 -m venv venv
このコマンドは、venv
というディレクトリを作成します 、Pythonバイナリのコピー、Pipパッケージマネージャー、標準のPythonライブラリ、およびその他のサポートファイルが含まれています。仮想環境には任意の名前を使用できます。
仮想環境の使用を開始するには、activate
を使用して仮想環境をアクティブ化する必要があります スクリプト:
source venv/bin/activate
有効化されると、仮想環境のbinディレクトリが$PATH
の先頭に追加されます。 変数。シェルのプロンプトも変更され、現在使用している仮想環境の名前が表示されます。この例では、venv
。
仮想環境がアクティブ化されたので、Pythonパッケージマネージャーpip
を使用します Flaskをインストールするには:
pip install Flask
仮想環境内では、コマンドpip
を使用できます pip3
の代わりに およびpython
python3
の代わりに 。 インストールを確認するには、次のコマンドを実行して、Flaskバージョンを出力します。
python -m flask --version
この記事を書いている時点で、Flaskの最新の公式バージョンは1.1.2です
Python 3.8.5
Flask 1.1.2
Werkzeug 1.0.1
Flaskのバージョンは、この例に示されているバージョンとは異なる場合があります。
「HelloWorld!」を出力するだけの簡単なhelloworldアプリケーションを作成します。
テキストエディタまたはPythonIDEを開き、次のファイルを作成します。
〜/ flask_app / hello.pyfrom flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
コードの機能は次のとおりです。
- その最初の行はFlaskクラスをインポートします。
- 2行目は、Flaskクラスの新しいインスタンスを作成します。
-
route()
デコレータは、hello_world
を登録するために使用されます/
の関数 ルート。このルートが要求されると、関数が呼び出され、「HelloWorld!」というメッセージが表示されます。クライアントに返されます。
ファイルをhello.py
として保存します ターミナルウィンドウに戻ります。
flask
を使用します アプリケーションを実行するコマンドですが、その前に、FLASK_APP
を設定して、アプリケーションが動作するようにシェルに指示する必要があります。 環境変数:
export FLASK_APP=hello.py
flask run
上記のコマンドは、開発用組み込みサーバーを起動します。
出力は次のようになります。
* Serving Flask app "hello.py"
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
仮想マシンにFlaskをインストールし、Flask開発サーバーにアクセスする場合は、--host=0.0.0.0
を追加して、サーバーを公開できます。 flask run
へ 指図。
http://127.0.0.1:5000
を開きます Webブラウザーで、「HelloWorld!」が表示されます。メッセージ。
開発サーバータイプを停止するには、CTRL-C
ターミナルで。
作業が完了したら、deactivate
と入力して環境を非アクティブ化します。 、そして通常のシェルに戻ります。
deactivate