Pythonで Google Firebase の Realtime Database(リアルタイムデータベース)を効率的に活用する方法(ozgur/python-firebase 使用)

Google Firebase の Realtime Database(リアルタイムデータベース)の Python での活用方法について,技術的な観点から解説を行います.

目次

関連する外部ページ】:

環境構築と前準備

Python 3.12 のインストール

以下のいずれかの方法で Python 3.12 をインストールする。

方法1:winget によるインストール

Python がインストール済みの場合、この手順は不要である。管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

winget install -e --id Python.Python.3.12 --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 AssociateFiles=1 InstallLauncherAllUsers=1"

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。

方法2:インストーラーによるインストール

  1. Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

AIエディタ Windsurf のインストール

Pythonプログラムの編集・実行には、AIエディタの利用を推奨する。ここでは、Windsurfのインストールを説明する。

Windsurf がインストール済みの場合、この手順は不要である。管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

winget install -e --id Codeium.Windsurf --scope machine --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /MERGETASKS=!runcode,addtopath,associatewithfiles,!desktopicon"
powershell -Command "$env:Path=[System.Environment]::GetEnvironmentVariable('Path','Machine')+';'+[System.Environment]::GetEnvironmentVariable('Path','User'); windsurf --install-extension MS-CEINTL.vscode-language-pack-ja --force; windsurf --install-extension ms-python.python --force"

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。

関連する外部ページ

Windsurf の公式ページ: https://windsurf.com/

Gitのインストール

以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --accept-source-agreements --accept-package-agreements
REM Git のパス設定
set "GIT_PATH=C:\Program Files\Git\cmd"
for /f "skip=2 tokens=2*" %a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set "SYSTEM_PATH=%b"
if exist "%GIT_PATH%" (
    echo "%SYSTEM_PATH%" | find /i "%GIT_PATH%" >nul
    if errorlevel 1 setx PATH "%GIT_PATH%;%SYSTEM_PATH%" /M >nul
)

python-firebase の導入方法

  1. Windows環境でコマンドプロンプトを起動
  2. python-firebaseの効率的なインストール手順

    コマンドプロンプトにて以下のコマンドを実行

    pip install -U requests
    pip install -U git+https://github.com/ozgur/python-firebase
    # pip install -U python-firebase
    
  3. firebase-toolsの最新バージョンへの更新

    * npmが未導入の場合は,「Node.js Windows版のインストールガイド」を参照してください.

    npm install -g npm
    npm install -g firebase-tools
    
  4. システム動作の確認手順
    1. Windows環境からFirebaseへの認証とログイン
      firebase login

      新規にコマンドプロンプトを起動し,次のコマンドを実行

    2. 「firebase list」による既存プロジェクトIDの確認

      表示されるプロジェクトID一覧から,使用するプロジェクトIDを正確に特定してください.

      firebase list
      

      以降の説明では,プロジェクトIDを「my-project-abcde」として解説を進めます.

    3. まず,Webブラウザにて以下のURLにアクセスし,データベースの状態を確認

      my-project-abcde」は,実際に使用するプロジェクトIDに適切に置き換えてください.

      https://my-project-abcde.firebaseio.com
      
    4. Pythonプログラムの実行確認手順
      Python開発環境として,統合開発環境やコンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripterなど)の活用を推奨します.

      my-project-abcde」は実際のプロジェクトIDに正確に変更してください.

      resultオブジェクトへのJSONデータの格納状態を「print(result)」により確認します.

      from firebase import firebase
      firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None)
      result = firebase.get('/', None)
      print(result)
      

Firebaseへのデータ登録と操作

以下の3件のデータをPOSTメソッドにより登録します.

1 orange 50
1 apple 100
1 apple 150
  1. Pythonプログラムの実行手順

    効率的な実行環境として 「IPythonシェル」を使用します.

    * Anaconda3に標準搭載されているspyderを起動し,IPythonコンソールを活用することが効率的です.

    my-project-abcde」は実際のプロジェクトIDに正確に置き換えてください.

    POSTメソッドを3回連続で実行します.

    from firebase import firebase
    firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None)
    result = firebase.post('/products', "{'id': '1'}, {'name': 'orange'}, {'price': '50'}")
    result = firebase.post('/products', "{'id': '2'}, {'name': 'apple'}, {'price': '100'}")
    result = firebase.post('/products', "{'id': '3'}, {'name': 'apple'}, {'price': '150'}")
    

    JSONデータの正確な格納状態を確認します.

    from firebase import firebase
    firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None)
    result = firebase.get('/products', None)
    print(result)