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無法輕鬆打包,因此我們依賴於第三方安裝。