Não é possível executar a CLI do Google Cloud SDK no Windows + Powershell 7 devido a problemas de python

Não é possível executar a CLI do Google Cloud SDK no Windows + Powershell 7 devido a problemas de python

Recentemente, depois de meses sem problemas, de repente não consigo executar os comandos CLI/gcloud do Google Cloud SDK no Windows Terminal/PowerShell 7 (7.3).

O erro que estou recebendo é:

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

Isso parece acontecer com e sem a opção python incluída no instalador do Google Cloud SDK (já que tentei reinstalar o Google Cloud SDK várias vezes).

Estranhamente, não recebo esse erro ao usar o prompt do PowerShell 5.x ou CMD e a CLI do SDK do gcp funciona bem nesses casos.

O PowerShell 7 se tornou meu driver diário devido às melhorias e personalizações que oferece quando usado em conjunto com o terminal Windows, por isso estou desesperado para fazê-lo funcionar novamente.

Estou um pouco perdido sobre como solucionar esse problema específico. Se alguém tiver alguma ideia do que pode estar em jogo, fazendo com que o PowerShell 7 gere esse erro de python, eu apreciaria muito qualquer feedback.

Obrigado.

Responder1

Ao dar uma olhada, encontrei issoLink de problema do Githubem que um bug já foi registrado depois que o gcloud parou de funcionar após atualizar o PowerShell para 7.3. Um problema é arquivado paraGoogle Nuvemtambém. Você pode acompanhar os dois links por enquanto.

No momento, existem algumas soluções alternativas que poderíamos realizar:

Deixe-me saber se você tiver dúvidas ou esclarecimentos.

Responder2

Desde que a primeira resposta foi aceita, houve diversas atualizações nos tickets emGoogle NuvemeGitHub. O problema foi corrigido de acordo com o anterior no gcloud SDK versão 413.0.0. Se você estiver executando uma versão anterior a essa, poderá realizar a correção manualmente. Primeiro, use este comando para obter a localização de gcloud.ps1:

Get-Command gcloud | Select-Object Source

Em seguida, edite esse arquivo. Perto ou na linha 109 estará este texto:

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

substitua a linha inteiramente por esta:

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

Esta é a correção da versão 413.0.0, então o gcloud será executado depois disso. Eu recomendo que a primeira invocação após este ponto seja gcloud components update.

(h/t paraeste comentário no GitHubpara as etapas acima)

informação relacionada