Python で Google Firebase の Realtime Database (リアルタイムデータベース), Google Firebase Storage を使ってみる(pyrebase を使用)

関連する外部ページhttps://firebase.google.com/docs/web/setup

目次

  1. 前準備
  2. リアルタイムデータベース(Realtime Database)を扱うプロジェクトの新規作成
  3. Google Firebase Storage を使ってみる

前準備

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 の仮想環境の作成

  1. これから作成するPython の仮想環境の名前とPythonのバージョンを設定する
  2. Windows のコマンドプロンプトを起動する.
  3. 事前に Python をインストールしておく.

    以下のコマンドを実行する.

    conda create -n pyrebase python=2.7
    
  4. Python 環境の作成を確認
    conda info -e
    

これにより,既存のPython環境と, 新しく作成したPython環境(Python のバージョン 2.7名前は pyrebase)が共存する環境が整った.

Windows で MPIR のインストール

  1. Windows でコマンドプロンプトを実行
  2. ダウンロード用のディレクトリを作成
    mkdir c:\tools
    cd c:\tools
    rmdir /s /q mpir
    
  3. MPIR をダウンロード

    参考リンク

    http://mpir.org/downloads.html

    (現在は公開を終了している)

    cd c:\tools
    git clone https://github.com/BrianGladman/mpir.git mpir
    

Pythonパッケージ thisbejim/Pyrebase のインストール方法

GitHub で公開されているthisbejim/Pyrebaseの詳細なインストール手順を解説する

  1. Windows でコマンドプロンプトを起動
  2. 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
    
  3. 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
    
  4. インストールの完了確認

    エラーメッセージが表示されていないことを確認する

Realtime Database プロジェクトの作成手順

  1. Firebase の公式サイトにアクセス

    https://firebase.google.com/?hl=ja

    Google アカウント(IDとパスワード)が必要となる

  2. スタートガイド」を選択
  3. プロジェクトを追加」を選択

    画面が応答しない場合は,Webブラウザでサインアウトし,再度ログインして試す

  4. プロジェクトの基本設定

    プロジェクト名: 識別しやすい任意の名前を設定

    アナリティクスと課金の地域: 日本を選択

    利用規約: 内容を確認し,同意できる場合のみチェック(同意できない場合は Firebase の利用を見送る)

  5. 次へ」を選択
  6. 設定内容の確認

    料金プランが「Spark プラン」(無料プラン)であることを確認し, データベースを利用するため「Database」を選択する

  7. Realtime Database を作成するため,「データベースを作成」を選択する
  8. セキュリティルールの設定

    開発環境での試用のため「テストモードで開始」を選択し,「有効にする」をクリックする

  9. データベースの作成完了を確認

    これでセットアップが完了した

Firebase Storage の利用方法

  1. Firebase にアクセス

    https://firebase.google.com/?hl=ja

  2. スタートガイド」を選択
  3. 利用するプロジェクトを選択
  4. Storage の設定

    Storage タブで「ルール」を以下のように設定する.

    注意:この設定ではファイルが公開される.個人情報や著作権のある素材は絶対にアップロードしないこと.

  5. プロジェクト設定の確認
  6. 認証情報の確認

    表示されるプロジェクトIDウェブAPIキーは後で使用するため,メモしておく

  7. Pythonでの実装

    IPythonpyrebase環境を使用する

    Anaconda3spyderの使用を推奨する.

    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')
    

    エラーが発生していないことを確認する

  8. アップロードの確認

    Firebase コンソールのStorage タブでファイルが正常にアップロードされていることを確認できる