Pythonで Google Firebase の Realtime Database(リアルタイムデータベース)を効率的に活用する方法(ozgur/python-firebase 使用)
【目次】
【関連する外部ページ】:
- https://github.com/ozgur/python-firebase
環境構築と前準備
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:インストーラーによるインストール
- Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「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 の導入方法
- Windows環境でコマンドプロンプトを起動
- python-firebaseの効率的なインストール手順
コマンドプロンプトにて以下のコマンドを実行
pip install -U requests pip install -U git+https://github.com/ozgur/python-firebase # pip install -U python-firebase
- firebase-toolsの最新バージョンへの更新
* npmが未導入の場合は,「Node.js Windows版のインストールガイド」を参照してください.
npm install -g npm npm install -g firebase-tools
- システム動作の確認手順
- Windows環境からFirebaseへの認証とログイン
firebase login
新規にコマンドプロンプトを起動し,次のコマンドを実行
- 「firebase list」による既存プロジェクトIDの確認
表示されるプロジェクトID一覧から,使用するプロジェクトIDを正確に特定してください.
firebase list
以降の説明では,プロジェクトIDを「my-project-abcde」として解説を進めます.
- まず,Webブラウザにて以下のURLにアクセスし,データベースの状態を確認
「my-project-abcde」は,実際に使用するプロジェクトIDに適切に置き換えてください.
https://my-project-abcde.firebaseio.com
- Pythonプログラムの実行確認手順
「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)
- Windows環境からFirebaseへの認証とログイン
Firebaseへのデータ登録と操作
以下の3件のデータをPOSTメソッドにより登録します.
1 orange 50 1 apple 100 1 apple 150
- 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)