为啥我得到(gsutil):“C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe”:找不到命令

Posted

技术标签:

【中文标题】为啥我得到(gsutil):“C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python37\\python.exe”:找不到命令【英文标题】:why am i getting (gsutil): "C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe": command not found为什么我得到(gsutil):“C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe”:找不到命令 【发布时间】:2020-06-09 19:12:54 【问题描述】:

安装Google cloud sdk 并连接到所需的firebase 项目后,我正在接收:

错误:(gsutil) “C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe”: 运行任何 gsutil 命令时找不到命令。

我现在的笨蛋是:

windows 10
Google Cloud SDK 281.0.0
bq 2.0.53
core 2020.02.14
gsutil 4.47
python 3.7

我的理论是,当“正确”安装时,python 无法访问 gsutil 命令

【问题讨论】:

请在cmd中输入py -3检查是否安装了python 请多解释一下。 请分享您尝试运行的命令 Python 已安装。我正在尝试使用文档中的 gsutil cors set cors.json gs:// 为我的 react 应用程序设置 cors 配置,但是到目前为止我已经尝试了许多 gsutil 命令,gsutil 不是公认的命令基于我的错误消息,尽管在运行 gcloud -v 时被列出 您找到解决方案了吗?我遇到了完全相同的问题。 【参考方案1】:

要查看可用且当前已安装的组件列表,请运行命令:

gcloud 组件列表

要将所有已安装的组件更新到 Cloud SDK 的最新可用版本(282.0),请运行命令:

gcloud 组件更新

您也可以按照document 重新安装它,虽然 Cloud SDK 目前默认使用 Python 2,但您可以在必要时通过取消选中“安装捆绑的 Python”选项来使用现有的 Python 安装。

【讨论】:

是的,谢谢你,但我已经沿着那条路走下去了,我找不到任何错误 您是否尝试重新安装它? 使用“捆绑 python”重新安装有效,但那是因为它现在使用自己的 python 安装。仍然不知道为什么使用现有的 python 安装会破坏更新。 我仍然没有找到解决方案。我已经尝试重新安装。在“gcloud 组件更新”上,我注意到一些可能是错误的错误,但在尝试复制时,我只收到消息,所有组件都是最新的。我将卸载并重新安装+组件更新以查看错误 如果您按照document卸载并重新安装Cloud SDK,您将获得最新版本,无需再次更新。【参考方案2】:

正如上面建议的那样,使用捆绑的 python 重新安装对我有用。我从谷歌的文档中错误地假设我应该在捆绑或当前的 python 安装之间进行选择,但没有意识到两者都可以在没有冲突的情况下运行。

【讨论】:

【参考方案3】:

我遇到了同样的问题,我可以通过为 CLOUDSDK_PYTHON 设置一个新的环境变量来解决它。在 Windows 10 上,您可以通过 2 种方式从命令行执行此操作:

    为当前终端会话设置一个环境变量 set CLOUDSDK_PYTHON="C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe"

    设置永久环境变量 setx CLOUDSDK_PYTHON="C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe"

每个人的文件路径可能都不一样,所以首先检查python.exe的位置并使用你自己的路径。我希望这会有所帮助。

【讨论】:

“setx”命令语法在键和值之间没有'='字符【参考方案4】:

运行:

set CLOUDSDK_PYTHON=C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe

注意:"C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe" 这样的 python 路径周围不应该有引号,否则它会尝试使用引号运行命令,我们知道这是行不通的。

【讨论】:

【参考方案5】:

在 CMD 和/或 PowerShell 中,我的语法需要稍有不同 - 我还通过 Microsoft Store 安装了 Python,所以我的命令是:

SETX CLOUDSDK_PYTHON "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\python3.9.exe"

您可以通过从开始菜单运行 python 应用程序然后读取窗口标题来获得确切的路径:

【讨论】:

以上是关于为啥我得到(gsutil):“C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe”:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

为啥 WHERE 在 Web UI 中有效,但在 gsutil 中无效?

为啥 gsutil 从使用 KMS 加密的存储桶中恢复文件(使用没有 DECRYPT 权限的服务帐户)?

为啥 gsutil rsync 会重新下载我们所有的文件?

使用 gsutil 下载

Xcode 更新破坏了 gcloud 和 gsutil

gsutil 导致“CommandException:您有多种类型的配置凭据”