由於 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 行左右或在第 109 行將是以下文字:

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

將此行完全替換為:

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

這是版本 413.0.0 中的修復,因此 gcloud 將在該版本之後運行。我建議在此之後的第一次調用是gcloud components update.

(小時/噸至GitHub 上的這則評論對於上述步驟)

相關內容