🎉
gsutil -mで problems with multiprocessing on MacOSが発生した時の解決方法
問題
Cloud StorageはConsoleからだと1オブジェクトのみしか、ダウンロードできないため、
フォルダをダウンロードするには、gsutil コマンドラインを使用する必要がありました。
コマンドが記載があったので、コピペして実行すると下記エラーが発生し、ダウンロードできませんでした。
$ gsutil -m cp -r "gs://firebase-tutorial-suzuki.appspot.com/buckup-test/" .
If you experience problems with multiprocessing on MacOS, they might be related to https://bugs.python.org/issue33725.
You can disable multiprocessing by editing your .boto config or by adding the following flag to your command: `-o "GSUtil:parallel_process_count=1"`.
Note that multithreading is still available even if you disable multiprocessing.
環境
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H114
$ gcloud version
Google Cloud SDK 321.0.0
bq 2.0.64
core 2020.12.11
gsutil 4.57
$ gsutil version -l
gsutil version: 4.57
boto version: 2.49.0
python version: 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
OS: Darwin 19.6.0
multiprocessing available: True
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
解決方法
gsutil cp -r gs://firebase-tutorial-suzuki.appspot.com/buckup-test .
のコマンドでダウンロードできた。
※ commandにオプションを付けてねと書いてあったので、下記のようにしてみましたがこれではダウンロードできませんでした。
gsutil -o "GSUtil:parallel_process_count=1" -m cp -r "gs://firebase-tutorial-suzuki.appspot.com/buckup-test/" .
終わり
-m
は並列実行するoptionのようですがエラーになる根本の理由までは調べきれていません。
Discussion