Python 문제로 인해 Windows + Powershell 7에서 Google Cloud SDK CLI를 실행할 수 없습니다.

Python 문제로 인해 Windows + Powershell 7에서 Google Cloud SDK CLI를 실행할 수 없습니다.

최근 몇 달 동안 문제가 없었는데 갑자기 Windows 터미널/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 작동이 중지된 후 버그가 이미 제출되었습니다. 문제가 제출되었습니다.구글 클라우드또한. 지금은 두 링크를 모두 추적할 수 있습니다.

현재로서는 우리가 수행할 수 있는 몇 가지 해결 방법이 있습니다.

질문이나 설명이 있으면 알려주시기 바랍니다.

답변2

첫 번째 답변이 승인된 이후 티켓이 여러 차례 업데이트되었습니다.구글 클라우드그리고Github. 이 문제는 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의 이 댓글위 단계의 경우)

관련 정보