gsutil 文件下载 OSError:权限被拒绝。千字节

Posted

技术标签:

【中文标题】gsutil 文件下载 OSError:权限被拒绝。千字节【英文标题】:gsutil file download OSError: Permission denied. KiB 【发布时间】:2019-02-14 04:13:10 【问题描述】:

我正在尝试从 Google 存储中下载一些样本来进行情绪分析。我按照说明进行操作,但出现错误(我实际上在他们的说明中添加了一个目标文件,但错误不同):

Google 在示例中定义的错误: 豪尔赫:python3.7 jbp$ gsutil cp gs://cloud-samples-tests/natural-language/sentiment-samples.tgz CommandException:“cp”命令的参数数量错误。 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/Users/jbp/Python/env/lib/python3.7/google-cloud-sdk/platform/gsutil/gslib/init.py”,第 29 行,在 导入临时文件 文件“tempfile.py”,第 39 行,在 将 functools 导入为 _functools 文件“functools.py”,第 8 行 SyntaxError:第 8 行文件 functools.py 中的非 ASCII 字符“\xc5”,但未声明编码;详情见http://python.org/dev/peps/pep-0263/ Jorges-MB​​P:python3.7 jbarrigapartarrieu$

目标文件错误: 豪尔赫:python3.7 jbp$ gsutil cp gs://cloud-samples-tests/natural-language/sentiment-samples.tgz /User/jbp/Python 复制 gs://cloud-samples-tests/natural-language/sentiment-samples.tgz... OSError:权限被拒绝。千字节] 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/Users/jbarrigapartarrieu/Python/env/lib/python3.7/google-cloud-sdk/platform/gsutil/gslib/init.py”,第 29 行,在 导入临时文件 文件“tempfile.py”,第 39 行,在 将 functools 导入为 _functools 文件“functools.py”,第 8 行 SyntaxError:第 8 行文件 functools.py 中的非 ASCII 字符“\xc5”,但未声明编码;详情见http://python.org/dev/peps/pep-0263/

【问题讨论】:

【参考方案1】:

将 sudo 添加到该行解决了我的问题

sudo gsutil cp gs://cloud-samples-tests/natural-language/sentiment-samples.tgz ./

【讨论】:

【参考方案2】:

执行 gsutil 命令的用户似乎没有写入/User/jbp/Python 的权限或路径不存在。

在 linux 系统上,您可以使用 namei 检查路径的权限和所有者:

namei -mo /User/jbp/Python

或者,尝试将文件保存到您的工作目录:

 gsutil cp gs://cloud-samples-tests/natural-language/sentiment-samples.tgz ./

【讨论】:

【参考方案3】:

您似乎以某种方式使用 Python 3 调用 gsutil,但目前尚不支持。 gslib/__init__.pyimport tempfile 语句(失败)下面的行会引发此错误,但看起来它甚至没有达到那么远:

https://github.com/GoogleCloudPlatform/gsutil/blob/9ac524d7f4424ae8c92f001b46f5c1cf2ae68b8d/gslib/init.py#L31

【讨论】:

以上是关于gsutil 文件下载 OSError:权限被拒绝。千字节的主要内容,如果未能解决你的问题,请参考以下文章

OSError - Errno 13 权限被拒绝

Django OSError:[Errno 13] 权限被拒绝

权限被拒绝的 gsutil cp 错误

`gsutil cp` 命令抛出“OSError:文件名、目录名或卷标语法不正确”

Android 10 API 29(操作系统错误:权限被拒绝,errno = 13)保存文件(颤振)

容器之间的 Kubernetes 卷 - 权限被拒绝