如何用Homebrew gfortran替换HPC gfortran?

时间:2015-01-12 16:33:24

标签: python pip homebrew osx-yosemite gfortran

我目前在我的Yosemite系统上安装了Xcode(以及命令行工具)和gfrotran from HPC,并希望用Homebrew替换 HPC的gfortran(因为我遇到了麻烦)使用HPC gfortran构建Python包。

完成此任务的步骤是什么?

我想确定

  1. HPC的gfortran消失了(我只想要一个Fortran)和
  2. Apple的工具仍然可用(适用于Xcode,Swift,OS X和iOS开发等)。
  3. 当然

    1. 我有一个可靠的gfortran版本可靠地构建Python包。
    2. 可以这样做吗?我看到例如Homebrew的gfortran现在被打包为gcc的一部分,所以看起来我最终会得到两个版本的gcc(我想避免使用)或者一个与Xcode不兼容的版本。

      完成1-3步的步骤是什么?

1 个答案:

答案 0 :(得分:1)

我最近解决了同样的问题。这就是我在Yosemite系统上工作的方式。

关于home-brew和命令行工具编译器的一些事情:

  1. 通过home-brew获得的编译器将覆盖现有的,如果它位于同一位置。如果你有一个从命令行工具获得的fortran编译器,那么它将不会受到影响。(Home-brew会在做任何事之前警告你)

  2. 通过命令行工具获得的编译器的二进制文件位于/usr/bin

  3. 使用自制啤酒获得的编译器(以及其他任何内容)存储在地窖中(/usr/local/Cellar) 并且可执行文件链接到目录/usr/local/bin

  4. 怎么做?

    1. 修改路径: 我只需要使用我通过家庭酿造得到的编译器,所以我将/usr/local/bin移到$path的顶部,这样可以确保在/usr/local/bin之前搜索/usr/bin目录。

    2. 使用别名: 您可以为每个编译器创建别名,以便您可以根据需要互换使用它们。要创建别名,您必须修改shell-rc文件。在我的系统上,我使用tcsh,并为home-brew编译器创建一个别名,我会在〜/ .cshrc文件中添加类似的东西。

      alias brewgfortran '/usr/local/bin/gfortran'
      

      现在执行home-brew gfortran-4.9可执行文件,该文件存储在我的酒窖中并链接到/usr/local/bin/gfortran/

    3. 如果你绝对想要摆脱苹果编译器,你当然可以完全从/usr/bin/目录中删除它们。我不认为这是最好的主意。我已向您展示了一些避免使用它们的方法,如果您因某种原因需要它们,那么您将是SOL。我不能说你需要的那些工具是否可以在没有它们的情况下工作,因为我从未使用过任何这些工具,但是我知道它会为你构建python包(对不起希望这仍然有帮助)

    4. 注意:如果您没有使用与我相同的shell,别名的语法有点不同(我认为)只是谷歌或man alias