Pythonその他

Linux系のOS(Ubuntu)上のPythonの仮想環境(venv)でFastAPIを利用してみた

Pythonでは、FastAPIを利用することで、Rest APIサービスを作成することができる。

Rest APIサービスについては、以下のサイトを参照のこと。
https://qiita.com/masato44gm/items/dffb8281536ad321fb08

今回は、Azure Portal上で作成したLinux系のOS(Ubuntu)をもつ仮想マシンに作成済の仮想環境(venv)で、FastAPIパッケージをインストールし、FastAPIを利用したPythonプログラムを作成し実行してみたので、その手順を共有する。

前提条件

下記サイトの手順に従って、Linux系のOS(Ubuntu)をもつ仮想マシンにPythonの仮想環境(venv)を作成済であること。

Linux系のOS(Ubuntu)上でPythonの仮想環境(venv)を作成してみたvenvを利用すると、Python開発の仮想環境を手軽に作成することができる。 今回は、Azure Portal上で作成したLin...

やってみたこと

  1. FastAPIパッケージのインストール
  2. FastAPIを利用したプログラムの実行

FastAPIパッケージのインストール

前提条件の記事で作成した仮想環境(venv)である仮想環境(test1)で、FastAPIパッケージをインストールする。その手順は、以下の通り。

1) Azure Portalを起動し、Linux系のOS(Ubuntu)をもつ仮想マシンにログイン後、仮想環境(venv)である仮想環境(test1)を起動する。
FastAPIパッケージのインストール_1

2)「pip install fastapi」コマンドで、FastAPIをインストールする。
FastAPIパッケージのインストール_2_1

FastAPIパッケージのインストール_2_2

3)「pip install “uvicorn[standard]”」コマンドを実行した結果は、以下の通り。
FastAPIパッケージのインストール_3

4) インストール済のfastapi, uvicornを確認した結果は、以下の通り。
FastAPIパッケージのインストール_4



「AOMEI Backupper」は様々な形でバックアップ取得や同期処理が行える便利ツールだったパソコン内のデータを、ファイル/パーティション/ディスク等の様々な単位でバックアップしたり、バックアップ時のスケジュール設定やリアルタイ...

FastAPIを利用したプログラムの実行

前提条件の記事で作成した仮想環境(venv)である仮想環境(test1)で、FastAPIを利用したPythonプログラムを作成し実行する。その手順は、以下の通り。

1) 仮想環境(venv)である仮想環境(test1)をにおいて、FastAPIを利用したPythonプログラムを作成する。作成後のプログラムの内容は、以下の通り。
FastAPIを利用したプログラムの実行_1

2)「uvicorn main:app –reload」コマンドで、Uvicornを使用したFastAPIアプリケーションを実行する。
FastAPIを利用したプログラムの実行_2

なお、uvicornコマンドについては、以下のサイトを参照のこと。
https://qiita.com/sasiko_hari/items/e9b32ee9e8d4c3178d7d

3) 別セッションから「http://127.0.0.1:8000」にアクセスするため、「新しいセッション」ボタンを押下する。
FastAPIを利用したプログラムの実行_3

4) 以下のように、別セッションが起動されることが確認できる。
FastAPIを利用したプログラムの実行_4

5) 別セッションのコンソール上で、Linux系のOS(Ubuntu)をもつ仮想マシンにログインする。
FastAPIを利用したプログラムの実行_5

6) 別セッションのコンソール上で「curl http://127.0.0.1:8000」を実行すると、以下のように、read_rootメソッドの戻り値が返却されることが確認できる。
FastAPIを利用したプログラムの実行_6

7) uvicornコマンドを実行したコンソール上で、[Ctrl]+[C]キーを押下し、Uvicornを使用したFastAPIアプリケーションを停止する。
FastAPIを利用したプログラムの実行_7_1

なお、仮想環境(conda)である仮想環境(test2)が存在すると、Uvicornを使用したFastAPIアプリケーション起動中にエラーが発生したため、以下のように、仮想環境(test2)を削除している。
FastAPIを利用したプログラムの実行_7_2

FastAPIを利用したプログラムの実行_7_3 FastAPIを利用したプログラムの実行_7_4 FastAPIを利用したプログラムの実行_7_5

要点まとめ

  • Pythonでは、FastAPIを利用することで、Rest APIサービスを作成することができる。