Python で Google Firebase の Realtime Database (リアルタイムデータベース), Google Firebase Storage を使ってみる(pyrebase を使用)
【目次】
前準備
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 の仮想環境の作成
- これから作成するPython の仮想環境の名前とPythonのバージョンを設定する
- Python の仮想環境の名前: pyrebase
- Pythonのバージョン: 2.7
- Windows のコマンドプロンプトを起動する.
- 事前に Python をインストールしておく.
以下のコマンドを実行する.
conda create -n pyrebase python=2.7
- Python 環境の作成を確認
conda info -e
これにより,既存のPython環境と, 新しく作成したPython環境(Python のバージョン 2.7,名前は pyrebase)が共存する環境が整った.
Windows で MPIR のインストール
- Windows でコマンドプロンプトを実行
- ダウンロード用のディレクトリを作成
mkdir c:\tools cd c:\tools rmdir /s /q mpir
- MPIR をダウンロード
【参考リンク】
http://mpir.org/downloads.html
(現在は公開を終了している)
cd c:\tools git clone https://github.com/BrianGladman/mpir.git mpir
Pythonパッケージ thisbejim/Pyrebase のインストール方法
GitHub で公開されているthisbejim/Pyrebaseの詳細なインストール手順を解説する
- Windows でコマンドプロンプトを起動
- thisbejim/Pyrebase の依存パッケージをインストール
インストールの完了まで待機する.エラーメッセージが表示されていないことを確認する
pip install -U requests==2.11.1 protobuf pytest future ply dill pyreadline pip install -U google-gax==0.12.5 requests-toolbelt==0.7.0 gcloud==0.17.0 oauth2client==3.0.0 - thisbejim/Pyrebase のインストール
mkdir c:\pytools cd c:\pytools rmdir /s /q Pyrebase
cd c:\pytools git clone https://github.com/thisbejim/Pyrebase cd Pyrebase python setup.py build python setup.py install
- インストールの完了確認
エラーメッセージが表示されていないことを確認する
Realtime Database プロジェクトの作成手順
- Firebase の公式サイトにアクセス
https://firebase.google.com/?hl=ja
※ Google アカウント(IDとパスワード)が必要となる
- 「スタートガイド」を選択
- 「プロジェクトを追加」を選択
※ 画面が応答しない場合は,Webブラウザでサインアウトし,再度ログインして試す
- プロジェクトの基本設定
プロジェクト名: 識別しやすい任意の名前を設定
アナリティクスと課金の地域: 日本を選択
利用規約: 内容を確認し,同意できる場合のみチェック(同意できない場合は Firebase の利用を見送る)
- 「次へ」を選択
- 設定内容の確認
料金プランが「Spark プラン」(無料プラン)であることを確認し, データベースを利用するため「Database」を選択する
- Realtime Database を作成するため,「データベースを作成」を選択する
- セキュリティルールの設定
開発環境での試用のため「テストモードで開始」を選択し,「有効にする」をクリックする
- データベースの作成完了を確認
これでセットアップが完了した
Firebase Storage の利用方法
- Firebase にアクセス
- 「スタートガイド」を選択
- 利用するプロジェクトを選択
- Storage の設定
Storage タブで「ルール」を以下のように設定する.
注意:この設定ではファイルが公開される.個人情報や著作権のある素材は絶対にアップロードしないこと.
- プロジェクト設定の確認
- 認証情報の確認
表示されるプロジェクトIDとウェブAPIキーは後で使用するため,メモしておく
- Pythonでの実装
IPythonでpyrebase環境を使用する
Anaconda3のspyderの使用を推奨する.※ Windows では「spyder(pyrebase)」を選択する
※「spyder(pyrebase)」が存在しない場合は, 前述の「conda install -y spyder」以降の手順を再実行する
※ メニューから起動できない場合は,コマンドプロンプトで以下を実行:
activate pyrebase spyder以下のコードでファイルの操作が可能である.
C:/image/126.pngは実在するファイルパスに変更する必要がある
import pyrebase config = { 'apiKey': '<ウェブAPIキー>', 'authDomain': '<プロジェクトID>.firebaseapp.com', 'databaseURL': 'https://<プロジェクトID>.firebaseio.com', 'storageBucket': '<プロジェクトID>.appspot.com' } firebase = pyrebase.initialize_app(config) photo_path = 'C:/image/126.png' storage = firebase.storage() storage.child('image/126.png').put(photo_path) print( storage.child('image/126.png').get_url(token=None) ) storage.child('image/126.png').download('C:/image/hoge.png')エラーが発生していないことを確認する
- アップロードの確認
Firebase コンソールのStorage タブでファイルが正常にアップロードされていることを確認できる
- アップロードの確認