Mac gcloud install ImportError:没有名为__future__的模块

时间:2019-01-30 17:55:50

标签: python gcloud google-cloud-sdk

为Mac安装gcloud时,根据文档here运行=sum(B2:AA2)-offset(B2,,row()-2) 命令时出现此错误:

install.sh

我检查了一下,并在安装shell脚本中回显了一些东西。它正在正确设置环境变量(指向我的默认python安装,指向gcloud SDK的正确位置)。

如果我只是输入p​​ython解释器(使用运行Traceback (most recent call last): File "/path_to_unzipped_file/google-cloud-sdk/bin/bootstrapping/install.py", line 8, in <module> from __future__ import absolute_import 时安装脚本指向的默认python),则可以导入模块:

install.py

只有其他值得注意的信息是我的默认python设置是我通过brew安装的python 2.7.15创建的虚拟环境。虚拟环境python bin是我路径中的第一个,因此>>> from __future__ import absolute_import >>> pythonpython2都调用正确的二进制文件。到目前为止,我在此设置上安装软件包没有其他问题。

如果我回显了install.sh脚本的最后一行,该脚本的最后一行调用install.py脚本,则会显示python2.7,这是正确的python。还是我错过了什么?

3 个答案:

答案 0 :(得分:3)

该脚本使用-S command-line switch,这会在启动时禁止加载site module

但是,它是安装在virtualenv中的自定义专用site模块,可以使virtualenv正常工作。因此,-S开关和virtualenvs是不兼容的,-S设置的基本导入内容,例如from __future__完全崩溃了。

您可以从-S命令中删除install.bat开关,也可以使用包装器脚本在调用真正的virtualenv Python时从命令行中删除它。

答案 1 :(得分:0)

尝试运行gcloud命令时出现以下错误。

  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/gcloud.py", line 20, in <module>
    from __future__ import absolute_import
ImportError: No module named __future__

如果自动获取virtualenv,则可以指定环境变量CLOUDSDK_PYTHON,即set -x CLOUDSDK_PYTHON /usr/bin/python,不要使用virtualenv python

答案 2 :(得分:0)

certManager := autocert.Manager{ Prompt: autocert.AcceptTOS, HostPolicy: autocert.HostWhitelist("example.com"), Cache: autocert.DirCache("certs"), } s := &http.Server{ Addr: ":https", Handler: allowCORS(mux), TLSConfig: certManager.TLSConfig(), } log.Fatal(s.ListenAndServeTLS("", "")) 中,移至最后一行,如下所示删除变量google-cloud-sdk/install.sh

$CLOUDSDK_PYTHON_ARGS