一尘不染

如何用Homebrew gfortran替换HPC gfortran?

python

我目前在优胜美地系统上安装了Xcode(以及命令行工具)和HPC的gfrotran
,并想用Homebrew 替换 HPC的gfortran(因为在使用HPC gfortran构建Python软件包时遇到了麻烦)。

有哪些步骤可以做到这一点?

我要确定

  1. HPC的gfortran不见了(我只想要一个Fortran),
  2. 苹果的工具仍然有效(适用于Xcode,Swift,OS X和iOS开发等)

而且当然

  1. 我有gfortran的有效版本,可以可靠地构建Python软件包。

能做到吗?例如,我看到Homebrew的gfortran现在已经作为gcc的一部分打包了,所以看来我最终会得到两个版本的gcc(我想避免)或一个版本无法在Xcode中很好地使用。

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


阅读 166

收藏
2021-01-20

共1个答案

一尘不染

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

有关自制程序和命令行工具编译器的一些信息:

  1. 您通过家庭酿造让编译器将覆盖现有的一个 ,如果 它是在同一个地方。如果您有从命令行工具获得的fortran编译器,则不会受到影响(Home-brew将在执行任何操作之前警告您有关此信息)

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

  3. 使用home-brew获得的编译器(以及其他任何东西)都存储在cellar(/usr/local/Cellar)中,并且可执行文件链接到该目录中/usr/local/bin

该怎么办?

  1. 修改路径 :我只需要使用通过home-brew获得的编译器,因此我移到/usr/local/bin了我的顶部,$path这确保了在/usr/local/bin之前搜索目录/usr/bin

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

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

现在,它将执行存储在我的地窖中并链接到的自制gfortran-4.9可执行文件 /usr/local/bin/gfortran/

  1. 如果您绝对要删除Apple编译器,则可以从/usr/bin/目录中完全删除它们。我认为这不是最好的主意。我向您展示了几种避免使用它们的方法,并且如果出于某种原因需要它们,您将是SOL。我不能说您需要的那些工具是否可以在没有它们的情况下工作,因为我从未使用过这些工具,但是我知道它将为您构建python软件包(对不起,希望对您有所帮助)

注意: 如果您没有使用与我相同的shell,则别名的语法略有不同(我认为),只需将其谷歌搜索或man alias

2021-01-20