Python の問題により、Windows + Powershell 7 で Google Cloud SDK CLI を実行できない

Python の問題により、Windows + Powershell 7 で Google Cloud SDK CLI を実行できない

数か月間問題がなかったのに、最近突然、Windows Terminal / PowerShell 7 (7.3) で Google Cloud SDK CLI / gcloud コマンドを実行できなくなりました。

発生しているエラーは次のとおりです:

>gcloud
C:\Users\admin10lap\AppData\Local\Programs\Python\Python39\python.exe: can't find '__main__' module in ''

これは、Google Cloud SDK インストーラーにバンドルされた Python オプションの有無にかかわらず発生するようです (Google Cloud SDK を複数回再インストールしようとしたため)。

不思議なことに、PowerShell 5.x または CMD プロンプトを使用しているときにはこのエラーは発生せず、これらのインスタンスでは gcp SDK CLI は正常に実行されます。

PowerShell 7 は、Windows ターミナルと組み合わせて使用​​することで提供される機能強化とカスタマイズにより、私の日常的なドライバーとなっているため、再び動作するようにしたいと切望しています。

この特定の問題のトラブルシューティング方法については、私には少し知識が足りないのですが、PowerShell 7 がこの Python エラーをスローする原因について何か知見をお持ちの方がいらっしゃいましたら、フィードバックをいただければ幸いです。

ありがとう。

答え1

調べてみたらこれを見つけたGithubの問題リンクPowerShellを7.3にアップデートした後にgcloudが動作しなくなったというバグがすでに報告されています。Googleクラウド同様に、今のところは両方のリンクを追跡できます。

現時点では、実行できる回避策がいくつかあります。

ご質問やご不明な点がございましたらお知らせください。

答え2

最初の回答が受け入れられて以来、チケットにはいくつかの更新がありました。Googleクラウドそしてギットハブこの問題は、gcloud SDK バージョン 413.0.0 で修正されました。それより古いバージョンを実行している場合は、手動で修正できます。まず、次のコマンドを使用して gcloud.ps1 の場所を取得します。

Get-Command gcloud | Select-Object Source

次に、そのファイルを編集します。109 行目あたりに次のテキストがあります。

$run_args_array += $cloudsdk_python_args.split(' ')

この行全体を次のように置き換えます。

$run_args_array += $cloudsdk_python_args.split(' ', [StringSplitOptions]::RemoveEmptyEntries)

これはバージョン 413.0.0 からの修正なので、その後は gcloud が実行されます。この時点以降の最初の呼び出しは にすることをお勧めしますgcloud components update

(h/tより)GitHubのこのコメント上記の手順については

関連情報