使用Homebrew安装gfortran,以便使用numpy。

6

我想使用brew安装一个可用的numpy版本。brew install numpy会提示:

==> python setup.py build --fcompiler=gnu95 install --prefix=/usr/local/Cellar/numpy/1.8.1
File "/private/tmp/numpy-ncUw/numpy-1.8.1/numpy/distutils/fcompiler/gnu.py", line 197, in get_flags_opt
v = self.get_version()
File "/private/tmp/numpy-ncUw/numpy-1.8.1/numpy/distutils/fcompiler/__init__.py", line 434, in get_version
raise CompilerNotFound()
numpy.distutils.fcompiler.CompilerNotFound

brew doctor 没有问题,所以可能是缺少fortran编译器的问题。尝试使用 brew install gfortran

Error: No available formula for gfortran 

看起来从brew的GitHub问题跟踪器中的评论来看,gfortran不再在brew中。让我们尝试从项目网站下载gfortran 4.9.0,并设置FC= \path\to\gfortran,以便brew知道如何使用它。

==> Building with an alternative Fortran compiler
This is unsupported.
Warning: No Fortran optimization information was provided.  You may want to consider
setting FCFLAGS and FFLAGS or pass the `--default-fortran-flags` option to
`brew install` if your compiler is compatible with GCC.

If you like the default optimization level of your compiler, ignore this
warning.
==> Downloading https://downloads.sourceforge.net/project/numpy/NumPy/1.8.1/numpy-1.8.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/numpy-1.8.1.tar.gz
==> python setup.py build --fcompiler=gnu95 install --prefix=/usr/local/Cellar/numpy/1.8.1
File "/private/tmp/numpy-mrQk/numpy-1.8.1/numpy/distutils/fcompiler/gnu.py", line 197, in get_flags_opt
v = self.get_version()
File "/private/tmp/numpy-mrQk/numpy-1.8.1/numpy/distutils/fcompiler/__init__.py", line 434, in get_version
raise CompilerNotFound()
numpy.distutils.fcompiler.CompilerNotFound

糟糕,Brew不想使用非默认的Fortran编译器。我正在使用安装了默认llvm的OSX 10.9,因此对添加gcc安装持谨慎态度。当llvm接管后,许多程序必须重新编译,因此再次更改默认编译器似乎很危险。

如何使Brew完成安装?有什么建议吗?


使用标签[tag:fortran]可以获得更多关注。如果您不喜欢我删除[tag:osx-mavericks](只有[tag:osx]更好吗?),请删除[tag:gfortran]或[tag:python],但保留[tag:fortran]。 - Vladimir F Героям слава
1个回答

10

brew install gcc

安装gcc命令行工具。

Numpy现在可以成功安装。


我认为这看起来是正确的,但实际上我只是在寻找一种不需要“全部gcc”这么大依赖的方法来安装gfortran。如果有人知道这样的方法,我会点赞的。(但是我还是要“brew install gcc”,以解决实际问题。) - Quuxplusone
很不幸,现在已经没有gfortran公式了,所以你将无法使用brew获取它(即使从versions或boneyard cellars中:https://github.com/Homebrew/homebrew/wiki/Interesting-Taps-&-Branches)。最好将您的问题作为新问题打开。我猜你必须在方便和大型(brew install gcc)之间做出权衡,还是选择小而复杂(从源代码安装gfortran)。祝你好运! - GnomeDePlume
1
还有一件值得注意的事情是:brew install gcc 可能会要求你覆盖手动安装的旧版gfortran实例。如果 brew install gcc 对你抛出这个错误,你应该执行以下操作:brew link --overwirte gcc。这对我来说很有效,而且覆盖也不会破坏任何东西。 - Ajay
@raxacoricofallapatorius 我已经回答了你的问题,关于替换那个包(或者采取安全措施绕过它)。 - Ajay
@Ajay:Brew“胆小地拒绝”执行brew link(需要sudo)。 - orome
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接