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 

难道我做错了什么?

+1

你能证实OpenSSL可用吗?尝试在python提示符下导入OpenSSL,如果可以,请在该python提示符下尝试“$ CLOUDSDK_PYTHON_SITEPACKAGES = 1 gcloud interactive”和“导入OpenSSL”。如果它在第一个成功并在第二个失败,那将有助于缩小问题的范围。如果第一次失败,PyOpenSSL安装不正确。 –

+0

不,它没有工作。 >>>进口OpenSSL的 回溯(最近通话最后一个): 文件 “”,1号线,在 导入错误:没有模块名为OpenSSL的 >>> 。我当然在使用Mac OSX上的pip安装PyOpenSSL时遇到了问题,但我认为现在一切正常。 –

+1

我的建议是使用virtualenv,并且只使用pip来安装virtualenv。当从virtualenv内运行时,不会有任何-S问题(当从virtualenv运行gcloud时,从未提供-S)。 –

回答

1

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