【问题标题】:why does anaconda use Apple gcc?为什么 anaconda 使用 Apple gcc?
【发布时间】:2016-07-20 12:06:20
【问题描述】:

我安装了 Anaconda python 3.52。

我用 gcc 安装了

brew install gcc

这会导致 gcc-6 在 /usr/local/bin 中符号链接

我的 PATH 在 /usr/bin 之前有 /usr/local/bin

在终端发出 python 给出

Python 3.5.2 |Anaconda 4.1.1 (x86_64)| (default, Jul  2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

为什么 anaconda 使用“旧”的 gcc? 我应该在 /usr/local/bin 中创建这个符号链接

ln -s /usr/local/Cellar/gcc/6.1.0/bin/gcc-6 /usr/local/bin/gcc

或者有更好的解决方案吗?

【问题讨论】:

    标签: gcc anaconda


    【解决方案1】:

    该信息行并未向您展示 Python 将使用什么编译器,而是展示了 Python 解释器本身是用什么编译器构建的。

    我们使用此编译器构建它以最大限度地兼容旧版本的 OS X。

    【讨论】:

      【解决方案2】:

      如您所见,Anaconda 使用的是Clang 而不是GCC
      似乎您正在使用 MacOS Clang 是默认编译器。

      首先:尝试更新您的Xcode/Clang,您使用的是相当旧的版本(基于这些日志)

      您也可以尝试更改 PATH 中的路径

      【讨论】:

      • 既然 Gcc-6 位于 /usr/local/bin 并且该目录在我的 PATH 中排在第一位,为什么 anaconda 不选择那个?
      • 从这个deeplearning.net/software/theano/install.html#compiler-osx 可以看到,theano 也可以配置为使用其他编译器。当我使用 scikit_learn 时,我希望 anaconda 使用 gcc,而不是 clang
      • 您是否尝试过遵循说明:如果您仍想使用 g++,您可以通过在 theano 配置标志 gxx 中设置其完整路径来实现。请注意,在 Mac 上使用 g++ 的任何错误报告都将被忽略,除非它可以用 clang 重现。
      • 除了我没有使用 theano。我正在使用 tensorflow,它需要 gcc。一般来说,每当我启动 anaconda python 时,它会在 darwin 上显示 [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] 我只是想弄清楚为什么 anaconda 默认为 clang
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 2013-05-11
      • 2011-12-16
      相关资源
      最近更新 更多