2
我试图配置一个notification for a Google Cloud Storage bucket object change但是当我尝试使gsutil使用服务帐户与此命令时卡住了。从GCloud激活服务帐户
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”和“导入OpenSSL”。如果它在第一个成功并在第二个失败,那将有助于缩小问题的范围。如果第一次失败,PyOpenSSL安装不正确。 –
不,它没有工作。 >>>进口OpenSSL的 回溯(最近通话最后一个): 文件 “”,1号线,在 导入错误:没有模块名为OpenSSL的 >>> 。我当然在使用Mac OSX上的pip安装PyOpenSSL时遇到了问题,但我认为现在一切正常。 –
我的建议是使用virtualenv,并且只使用pip来安装virtualenv。当从virtualenv内运行时,不会有任何-S问题(当从virtualenv运行gcloud时,从未提供-S)。 –