みなさまお久しぶりです。GMOアドマーケティングのエンジニアA.Y.です。
今回は小ネタです。ネットで検索してもなかなか情報がでてこなく、とてもハマったので記載します。
発端
GAEを触る必要があり、久しぶりにgcloudコマンドを利用するためアップデートしようとしたら、怒られました。
1 2 |
$ gcloud components update ERROR: (gcloud.components.update) Failed to fetch component listing from server. Check your network settings and try again. |
在宅勤務中ということもあり、ネットワーク周りかなとおもって、自宅のルータの設定を色々変えて見たけど全然だめ。
結論、手元の環境のpythonライブラリを一度削除し、最新化することで動きました。
環境は、MacOS Mojave 10.14.6です。
(OSの設定は自己責任でお願いします)
準備
brew自身のアップデート
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Updated 3 taps (homebrew/core, homebrew/cask and homebrew/services). ==> New Formulae asuka field3d lanraragi reorder-python-imports cdo flamegraph lc0 rtorrent clip flarectl leakcanary-shark semgrep code-server fplll libolm sollya cqlkit gau libpqxx@6 spotify-tui cucumber-ruby ghc@8.8 libtorrent-rakshasa spotifyd dgraph ghz lizard-analyzer trailscraper dmagnetic gocloc openstackclient xxh duckdb graphql-cli pfetch zenith erlang@22 hdf5-mpi qrcp eva kde-extra-cmake-modules rbtools ==> Updated Formulae c-ares ✔ goaccess pari glib ✔ godep (…略…) |
pythonのアンインストール
そのままアンインストールすると、現在pythonライブラリに依存しているライブラリがあるせいで削除できません。
個人のローカル環境なので、指示のままに強制的に削除します。
1 2 3 4 5 6 7 |
$ brew uninstall python Error: Refusing to uninstall /usr/local/Cellar/python/3.7.7 because it is required by pango, which is currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies python $ brew uninstall --ignore-dependencies python Uninstalling /usr/local/Cellar/python/3.7.7... (4,006 files, 61.0MB) |
pythonのインストール
これでやっと入る、、、と思ったら、既存のシンボリックリンクと衝突してしまい、エラーが出てしまいます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
$ brew install python Updating Homebrew... ==> Downloading https://homebrew.bintray.com/bottles/python-3.7.7.mojave.bottle.tar.gz Already downloaded: /Users/usr0301563/Library/Caches/Homebrew/downloads/ad95ac6fd985542f689bb712ae746d0784423013023306c6d918ba3264e5e776--python-3.7.7.mojave.bottle.tar.gz ==> Pouring python-3.7.7.mojave.bottle.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink Frameworks/Python.framework/Headers Target /usr/local/Frameworks/Python.framework/Headers is a symlink belonging to python@2. You can unlink it: brew unlink python@2 To force the link and overwrite all conflicting files: brew link --overwrite python To list all files that would be deleted: brew link --overwrite --dry-run python Possible conflicting files are: /usr/local/Frameworks/Python.framework/Headers -> /usr/local/Cellar/python@2/2.7.17/Frameworks/Python.framework/Headers /usr/local/Frameworks/Python.framework/Python -> /usr/local/Cellar/python@2/2.7.17/Frameworks/Python.framework/Python /usr/local/Frameworks/Python.framework/Resources -> /usr/local/Cellar/python@2/2.7.17/Frameworks/Python.framework/Resources /usr/local/Frameworks/Python.framework/Versions/Current -> /usr/local/Cellar/python@2/2.7.17/Frameworks/Python.framework/Versions/Current ==> /usr/local/Cellar/python/3.7.7/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-sc ==> /usr/local/Cellar/python/3.7.7/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-sc ==> /usr/local/Cellar/python/3.7.7/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-sc ==> Caveats Python has been installed as /usr/local/bin/python3 Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to `python3`, `python3-config`, `pip3` etc., respectively, have been installed into /usr/local/opt/python/libexec/bin You can install Python packages with pip3 install <package> They will install into the site-package directory /usr/local/lib/python3.7/site-packages See: https://docs.brew.sh/Homebrew-and-Python ==> Summary 🍺 /usr/local/Cellar/python/3.7.7: 4,006 files, 61.0MB |
シンボリックリンクを上書きし、新しく入れ直した方に張り替えます。
1 2 |
$ brew link --overwrite python Linking /usr/local/Cellar/python/3.7.7... 24 symlinks created |
動作確認
これで、ようやくgcloudコマンドが動きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ gcloud components list Your current Cloud SDK version is: 285.0.1 The latest available version is: 294.0.0 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Components │ ├──────────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬──────────┤ │ Status │ Name │ ID │ Size │ ├──────────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼──────────┤ │ Update Available │ BigQuery Command Line Tool │ bq │ < 1 MiB │ │ Update Available │ Cloud SDK Core Libraries │ core │ 14.7 MiB │ │ Update Available │ Cloud Storage Command Line Tool │ gsutil │ 3.5 MiB │ (…略…) │ Installed │ gcloud app PHP Extensions │ app-engine-php │ 21.9 MiB │ └──────────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴──────────┘ To install or remove components at your current SDK version [285.0.1], run: $ gcloud components install COMPONENT_ID $ gcloud components remove COMPONENT_ID To update your SDK installation to the latest version [294.0.0], run: $ gcloud components update |
あとは、
1 |
$ gcloud components update |
を実行し、最新化を実施すれば完了です。
今後も、GCPのマネージドサービスを活用し、インフラの保守コスト削減をめざし、早く安くサービスを提供できるように日々鍛錬です。
あとコロナ太り対策のため筋トレとジョギングをして、身体的にも鍛錬します!
(これが言いたかった)
お疲れさまでした。
マイブームは、ペーパードライバー卒業・天体観測・アマチュア無線・BCL受信・カセットテープデッキのメンテ修理・登山とか。
写真は飼っている文鳥のおつゆちゃん。