SciPy构建/安装Mac Osx
我已在Mac OS X上为python 2.7.3成功构建/安装了NumPy。现在,我也想构建/安装scipy。我是从git
hub下载的。进入目录。跑python setup.py构建,直到遇到此错误,它似乎一直在工作:
customize Gnu95FCompilerCould not locate executable gfortran
Could not locate executable f95
customize NAGFCompiler
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
我以为我为NumPy安装了Fortran …猜猜不是吗?我将如何下载?
回答:
您的问题是您需要安装Fortran编译器才能进行构建scipy
。
另外,如果您已经numpy
禁用了Fortran支持,则可能必须替换它。苹果公司的一些预装的Python版本已numpy
预装了这样的版本。
获得Fortran的最简单方法是使用Homebrew。如文档所述,您需要首先安装Xcode及其命令行工具。(安装命令行工具的方式几乎随Xcode的每个主要版本而变化,因此请参阅链接的文档以获取最新的说明。)然后安装Homebrew。安装URL进行了几次更改,因此请参阅Homebrew主页或安装说明(http://brew.sh/),但是它将类似于:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后:
brew install gcc
(请注意,直到2014年的某个时候,它gfortran
是一个独立于的配方gcc
,所以命令是brew install
gfortran。但是,如果现在尝试尝试,则会收到一条错误消息,指出“ GNU Fortran现在作为GCC的一部分提供,可以通过:brew
install gcc“。)
您确实想使用pip
install
scipy
,所以如果没有安装,请先安装。Apple预先安装的Python(至少在10.7和10.8中)包括easy_install
但不包括pip
,因此最简单的方法是:
sudo easy_install pip
但是,您可能要考虑使用avirtualenv
代替全局安装(在这种情况下,您还希望删除sudo
以下命令中的)。
现在您已经拥有gfortran
和pip
,您所要做的就是:
sudo pip install --upgrade numpysudo pip install scipy
注意事项:
上面的说明适用于Apple的预安装版本的Python。如果您使用的是其他版本的Python,则应该真正考虑不要这样做。使路径,已安装的软件包等保持同步是一场噩梦。例外是,如果您想要Python 3.x版本,在这种情况下,从python.org或Homebrew安装它是完全合理的。不会有任何冲突,因为
python
,pip2.7
等将成为苹果的Python的;python3
,pip3.3
等等,以用于3.x版本。如果您已经有了
pip
,但担心它可能会过时了,pip install --upgrade pip
。(除了安全性和鲁棒性优点外,通过使您与某些科学堆栈或其他模块的二进制车轮兼容,还可以节省大量时间。)对于大多数非苹果的Python安装(甚至是苹果在10.9或10.10;我没有检查),你应该 不 使用
easy_install
安装pip
。请遵循pip
安装说明。但首先请确保您尚未拥有它。- 如果您使用
virtualenv
/venv
,则您的虚拟环境将已经包含pip
。 - Python 3.4或更高版本可能(并且将会从python.org安装程序提供)包含
pip
bootstrap。如果您的3.4+还没有安装,则pip
可能要python -m ensurepip
安装它。 - 某些第三方安装程序(例如Homebrew或ActiveState)包括
pip
。 - 对于Python 3.3或更高版本,您可能需要使用内置
venv
而不是virtualenv
。
- 如果您使用
如果您使用的是MacPorts,Fink,gentoo-alt等,则应安装
scipy
软件包管理器随附的软件包,它将拖入其他所需的软件包(甚至包括重建Python和GCC)。像Enthought和ActiveState这样的第三方二进制安装可能已经包含了
scipy
您需要的所有其他内容。如果不是,说明基本上与上面的说明相同,但是您必须猜测要跳过或遵循的步骤,是否要跳过sudo
等等。
如果您使用的是非Apple版本的Python 2.7,并且想避免PATH问题,则必须做两件事:
首先,永远不要pip
在多个Python中安装任何包含脚本或二进制文件(包括其自身)的Python软件包。例如,如果您同时安装ipython
了Apple
2.7和Homebrew
2.7,则两者都将尝试创建名为/usr/local/bin/ipython
和的脚本/usr/local/bin/ipython-2.7
。如果幸运的话,一次安装将失败。否则,它们都将成功,一个将最终覆盖另一个,并且您将无法运行被覆盖的版本。
其次,确保备用Python脚本和二进制文件的路径位于Apple在PATH中之前。根据所安装的替代Python以及遵循的说明,可能是:
/usr/local/bin
/Library/Frameworks/Python.framework/Versions/2.7/bin
/usr/local/share/python2.7/bin
/usr/local/Cellar/python/2.7.3/bin
- 其他的东西
无论路径是什么,都需要编辑PATH变量。
如果您想影响GUI应用程序(和LaunchAgents等),显然不再有支持的方法,但是已弃用的QA1067似乎在Lion中仍然可以使用。这也是Homebrew
FAQ和Python
FAQ的建议。
如果您只关心命令行会话(Terminal.app和远程ssh),则可以执行标准的Unix编辑适当的配置文件的操作。哪个配置文件是合适的取决于您要影响的内容。(所有用户还是仅一个用户?bash还是任何shell?依此类推。)如果您不知道想要哪个,则应该进行一些研究。如果您不想打扰学习,~/.profile
那就去做,如果不是您想要的,就不要抱怨。
无论哪种方式,您都需要确保适当的路径/usr/bin
位于PATH之前。因此,例如,您可以将以下内容添加到中~/.profile
:
PATH=/usr/local/bin:$PATHexport PATH
(在生效之前,您当然需要创建一个新的Terminal shell或提供脚本源。)
如果您使用homebrew
,brew doctor
则会告诉您是否正确。
以上是 SciPy构建/安装Mac Osx 的全部内容, 来源链接: utcz.com/qa/404093.html