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-MBP: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__.py
中 import tempfile
语句(失败)下面的行会引发此错误,但看起来它甚至没有达到那么远:
https://github.com/GoogleCloudPlatform/gsutil/blob/9ac524d7f4424ae8c92f001b46f5c1cf2ae68b8d/gslib/init.py#L31
【讨论】:
以上是关于gsutil 文件下载 OSError:权限被拒绝。千字节的主要内容,如果未能解决你的问题,请参考以下文章
Django OSError:[Errno 13] 权限被拒绝
`gsutil cp` 命令抛出“OSError:文件名、目录名或卷标语法不正确”