FreeBSDにgsutil(google-cloud-sdk)をインストール

CentOSからFreeBSDに変更して、Google Cloud Storageにアクセスするためにgsutilをインストールしようとしているときの覚書。

環境: FreeBSD 14.1

pkg経由で「google-cloud-sdk」をインストールすればgsutilが含まれている。
# pkg search google-cloud
# pkg install google-cloud-sdk

(bashrc) source /usr/local/google-cloud-sdk/completion.bash.inc
(zshrc)  source /usr/local/google-cloud-sdk/completion.zsh.inc

google-cloud-sdk-471.0.0がインストールされた。
bashrcに追記しろと表示されるが、bashrcは作ってないのでbash_profileに追記する。
# less .bash_profile

source /usr/local/google-cloud-sdk/completion.bash.inc

読み込んでgsutilを実行してみる。
# source .bash_profile
# gsutil --version

エラー

Traceback (most recent call last):
  File "/usr/local/bin/../google-cloud-sdk/bin/bootstrapping/gsutil.py", line 15, in <module>
    import bootstrapping
  File "/usr/local/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 45, in <module>
    from googlecloudsdk.core import config
  File "/usr/local/google-cloud-sdk/lib/googlecloudsdk/core/config.py", line 25, in <module>
    import sqlite3
  File "/usr/local/lib/python3.11/sqlite3/__init__.py", line 57, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.11/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

python3.11のライブラリを参照しようとして失敗している。
python3.9あるのだがそっちを参照してほしい。
前の記事: FreeBSDの環境にPython 3.11をインストール

Google先生なら設定できるはずと思い、メインのgcloudを実行してみる。
# gcloud

ERROR: gcloud failed to load. This usually indicates corruption in your gcloud installation or problems with your Python interpreter.

Please verify that the following is the path to a working Python 3.8-3.12 executable:
    /usr/local/bin/python3.11

If it is not, please set the CLOUDSDK_PYTHON environment variable to point to a working Python executable.

If you are still experiencing problems, please reinstall the Google Cloud CLI using the instructions here:
    https://cloud.google.com/sdk/docs/install

CLOUDSDK_PYTHONという環境変数で設定できるらしい。
参考: gcloud topic startup  |  Google Cloud CLI Documentation

bash_profileに追記する。
# less .bash_profile

source /usr/local/google-cloud-sdk/completion.bash.inc
export CLOUDSDK_PYTHON=python3.9

読み込んで環境変数を確認してgsutilを実行する。
# source .bash_profile
# printenv
# gsutil --version

無事通った。
アップデートしろと出るので実行する。
# gcloud components update

確認
# gcloud --version

Google Cloud SDK 482.0.0
bq 2.1.6
bundled-python3-unix 3.11.8
core 2024.06.24
gcloud-crc32c 1.0.0
gsutil 5.30

公式サイトを参考にgcloud CLIを初期化する。
参考: クイックスタート: Google Cloud CLI をインストールする  |  Google Cloud CLI Documentation
# gcloud init --console-only

Googleアカウントを設定する。

バケットの一覧
# gsutil ls

あとはバックアップ用のバッチ処理を実行してみて確認する。


【関連記事】