我已阅读并关注this answer安装scipy / numpy / theano。但是,在brew install gcc之后,它仍然失败了与Fortran编译器相同的错误。虽然HomeBrew安装了gcc-4.8,但它没有安装任何gfortran或g95命令。我认为gfortran可能只是gcc的synonymy,然后我创建了一个符号链接
$ cd /usr/local/bin
$ ln -s gcc-4.8 gfortran
$ pip install scipy
然后它检测到gfortran命令,但仍抱怨没有Fortran编译器
customize Gnu95FCompiler
Found executable /usr/local/bin/gfortran
customize NAGFCompiler
Could not locate executable f95
customize AbsoftFCompiler
Could not locate executable f90
Could not locate executable f77
customize IBMFCompiler
Could not locate executable xlf90
Could not locate executable xlf
customize IntelFCompiler
Could not locate executable ifort
Could not locate executable ifc
customize GnuFCompiler
Could not locate executable g77
customize G95FCompiler
Could not locate executable g95
customize PGroupFCompiler
Could not locate executable pgfortran
don't know how to compile Fortran code on platform 'posix'
building 'dfftpack' library
error: library dfftpack has Fortran sources but no Fortran compiler found
我还应该怎么办?
答案 0 :(得分:37)
通过升级pip来修复,即使我刚刚第一次在同一天重新安装了我的pip / virtualenv。
(mypy)MAC0227: $ pip install --upgrade pip
...
(mypy)MAC0227: $ pip install theano
/Users/me/.virtualenvs/mypy/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Requirement already satisfied (use --upgrade to upgrade): theano in /Users/me/.virtualenvs/mypy/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6.2 in /Users/me/.virtualenvs/mypy/lib/python2.7/site-packages (from theano)
Collecting scipy>=0.11 (from theano)
/Users/me/.virtualenvs/mypy/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Downloading scipy-0.15.1-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (19.8MB)
100% |████████████████████████████████| 19.8MB 23kB/s
Installing collected packages: scipy
Successfully installed scipy-0.15.1
答案 1 :(得分:25)
以下对我有用:
sudo apt-get install gfortran
在我的系统上:
Ubuntu 15.10(Linux 4.2.0-19-通用#23-Ubuntu x86_64 x86_64 x86_64 GNU / Linux)
答案 2 :(得分:0)
这取决于gcc版本。检查你的gcc版本:
Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
更新您的gcc版本: http://ubuntuhandbook.org/index.php/2013/08/install-gcc-4-8-via-ppa-in-ubuntu-12-04-13-04/
答案 3 :(得分:0)
对于Arch Linux,您需要安装core/gcc-fortran
,尽管我意识到可以将scipy
文件中requirements.txt
的版本更改为可修复的最新版本。问题也是如此。
答案 4 :(得分:0)
对于macOS,安装了Fortran即可。
$ brew install gfortran