Elixirを使ったIoTプラットフォームのNervesの Advent Calendar #NervesJPでNervesととGCP Cloud PubSubを使ってLチカしてました。
- NervesとPhonenix(Gigalixir)とGCP Cloud PubSubを使ってBBG CapeのLEDをチカした話〜Phoenix/GCPでPub編〜(1/2)
- NervesとPhonenix(Gigalixir)とGCP Cloud PubSubを使ってBBG CapeのLEDをチカした話〜NervesでSub編〜(2/2)
久しぶりにGCPでPubSubの動作を確認しようとして、gcloud
コマンドを実行すると以下のようなエラーが出て動かなくなってしまっていました。
fish
❯ gcloud -h
...いろいろエラーメッセージ...
AttributeError: module 'importlib' has no attribute 'util'
環境
- macOS Catalina 10.15.7
- brewを使ってPython等インストール
原因
gcloud
コマンドがpython3.9に対応していないのと新しいバージョンなのでしばらく対応しない方針なので、brewでインストールしているpython3.9だとエラーが出てしまうようです。
対応
環境変数CLOUDSDK_PYTHON
に問題ないバージョン(python3.9じゃないバージョン)のパスを渡してあげるとよいようです。今回はbrewでインストールしていたpython3.8を利用することにしました。
環境変数にパスを設定するとgcloud
コマンドが使えるようになります。
例
fish
❯ set -x CLOUDSDK_PYTHON /usr/local/Cellar/python@3.8/3.8.7/bin/python3