macOS系统下gsutil生成Google Storage签名URL缺pyopenssl库问题
解决方案
你的猜测是正确的,gsutil默认优先调用系统自带的Python2版本,导致找不到你在Python3下安装的pyopenssl依赖,按以下步骤配置即可解决:
- 首先指定gsutil使用的Python解释器路径,你已安装的Python3.7路径为
/usr/local/bin/python3.7,可先执行以下命令临时验证效果:
CLOUDSDK_PYTHON=/usr/local/bin/python3.7 gsutil signurl -d 10d -u /Users/dineshc/Development/my_key.json gs://console.cloud.google.com/storage/browser/my_data
如果执行后不再报缺失pyopenssl的错误,说明配置有效。
- 如需永久生效,根据你使用的shell类型,在对应配置文件中添加环境变量:
- 若使用bash,编辑
~/.bash_profile或~/.bashrc - 若使用zsh(macOS 10.15+默认shell),编辑
~/.zshrc
在文件末尾添加如下内容:
保存后执行export CLOUDSDK_PYTHON=/usr/local/bin/python3.7source ~/.zshrc(对应zsh)或source ~/.bash_profile(对应bash)使配置立即生效。 - 若使用bash,编辑
- 若仍有报错,可通过指定Python解释器的方式重新安装pyopenssl,避免pip和Python版本不匹配:
/usr/local/bin/python3.7 -m pip install pyopenssl
内容的提问来源于stack exchange,提问作者Dinesh
相关产品推荐
相关产品推荐

