代码之家  ›  专栏  ›  技术社区  ›  KevinTydlacka

mac gcloud安装导入错误:没有名为uufuture的模块__

  •  0
  • KevinTydlacka  · 技术社区  · 7 年前

    在为Mac安装gCloud时,运行 install.sh 根据文件命令 here :

    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
    

    我翻了一遍,回响了安装shell脚本中的一些内容。它正确地设置了环境变量(指向我的默认python安装,指向gcloud sdk的正确位置)。

    如果我只输入python解释器(使用安装脚本在运行时指向的默认python install.py )我可以很好地导入模块:

    >>> from __future__ import absolute_import
    >>> 
    

    唯一值得注意的是,我的默认python设置是一个虚拟环境,它是我从通过BREW安装的python 2.7.15创建的。虚拟环境python bin在我的路径中是第一个,所以 python python2 python2.7 全部调用正确的二进制文件。到目前为止,在这个安装程序上安装软件包没有其他问题。

    如果回显调用install.py脚本的install.sh脚本的最后一行,它将显示 /path_to_virtualenv/bin/python -S /path_to_unzipped_file/google-cloud-sdk/bin/bootstrapping/install.py 哪个是正确的蟒蛇。还是我错过了什么?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Martijn Pieters    7 年前

    脚本使用 -S command-line switch ,这将禁用加载 site module 启动时。

    但是,它是一个定制的专用 网站 安装在使virtualenv工作的virtualenv中的模块。这样, -S switch和virtualenv不兼容,与 -S 设置基本导入,例如 from __future__ 完全崩溃。

    您可以移除 -S 从中切换 install.bat 命令或使用包装脚本将其从命令行中剥离,正如您所调用的真正的virtualenv python。