経緯
clientからSpannerを扱うコードを書いていてpython-spannerリポジトリのコードをGitHubで読んでいたら、GitHub上では実装されているのに呼び出せないメソッドがありました。
調べたらclientのpython-spannerのverがv.3.22.2
に対して、latest-releaseのpython-spannerのverはv.3.40.1
となっていました。
そこで、ライブラリのverをlatest-releaseのv.3.40.1
にしてみたのだが、まだ使えませんでした。
github.com
原因を調べるためにgit blameで使いたいメソッドの変更履歴を調べてみました。
すると、latest-releaseのv.3.40.1
のリリース日(2023.08.23)より後の2023.10.25にcommitされていることに気が付きました。
github.com
そこで、最も最新の状態をインストールするため下記のコマンドを実行してみました。
pip install git+https://github.com/googleapis/python-spanner.git@main
このコマンドでインストールをしたところ、使いたいメソッドが無事使えるようになりました。
業務システムなどで使うにはstable verを使うのが推奨なので、上記のコマンドは控えたほうが良いです。
結論
特定のcommit hashでpip installしたいときは下記のコマンドを実行します。
ブランチ名は「ブランチでのHEAD」と同義なので{commit hash}を{branch}に変更しても問題ないです。
pip install git+https://github.com/googleapis/python-spanner.git@{commit hash}
requirements.txt
でインストールしたい場合は、下記を追記したら大丈夫です。
git+https://github.com/googleapis/python-spanner.git@{commit hash}