【问题标题】:Activate Service Account from GCloud从 GCloud 激活服务帐户
【发布时间】:2014-07-04 03:55:12
【问题描述】:

我正在尝试配置 notification for a Google Cloud Storage bucket object change,但是在尝试使 gsutil 通过此命令使用服务帐户时遇到了问题。

gcloud auth activate-service-account service-account-email --key-file path/to/key.p12

我在命令行中得到的错误是:

ERROR: (gcloud.auth.activate-service-account) PyOpenSSL is not available. If you have already installed PyOpenSSL, you will need to enable site packages by setting the environment variable CLOUDSDK_PYTHON_SITEPACKAGES to 1. If that does not work, See https://developers.google.com/cloud/sdk/crypto for details.

我关注了this instructions to get pyOpenSSL。如果我向 pip 询问该软件包,它会告诉我它已安装

$ pip show pyopenssl
---
Name: pyOpenSSL
Version: 0.14
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: cryptography, six

如果我调用 env 命令,我也会看到环境变量

$ env
...
CLOUDSDK_PYTHON_SITEPACKAGES=1

我做错了吗?

【问题讨论】:

  • 您能否验证 OpenSSL 是否可用?尝试在 python 提示符中导入 OpenSSL,如果可行,请在该 python 提示符中尝试“$ CLOUDSDK_PYTHON_SITEPACKAGES=1 gcloud interactive”和“import OpenSSL”。如果它在第一次成功而在第二次失败,这将有助于缩小问题的范围。如果第一次失败,则说明 PyOpenSSL 没有正确安装。
  • 不,没有用。 >>> import OpenSSL Traceback(最近一次调用最后):文件“”,第 1 行,在 ImportError: No module named OpenSSL >>> 中。我当然在 Mac OSX 上使用 pip 安装 PyOpenSSL 时遇到了问题,但我认为现在一切正常。
  • 我的建议是使用 virtualenv,并且只使用 pip 将东西安装到 virtualenv 中。在 virtualenv 中运行时不会出现任何 -S 问题(从 virtualenv 运行 gcloud 时从不提供 -S)。

标签: python google-cloud-storage google-cloud-platform gcloud


【解决方案1】:

这表明 PyOpenSSL 没有正确安装。由于 PyOpenSSL 包含加密例程,Cloud SDK 无法轻松打包,我们依赖第三方安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2016-03-11
    • 2017-10-03
    • 2017-04-16
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    相关资源
    最近更新 更多