SciPy构建/安装Mac Osx

我已在Mac OS X上为python 2.7.3成功构建/安装了NumPy。现在,我也想构建/安装scipy。我是从git

hub下载的。进入目录。跑python setup.py构建,直到遇到此错误,它似乎一直在工作:

customize Gnu95FCompiler

Could 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“。)


您确实想使用pipinstall

scipy,所以如果没有安装,请先安装。Apple预先安装的Python(至少在10.7和10.8中)包括easy_install但不包括pip,因此最简单的方法是:

sudo easy_install pip

但是,您可能要考虑使用avirtualenv代替全局安装(在这种情况下,您还希望删除sudo以下命令中的)。

现在您已经拥有gfortranpip,您所要做的就是:

sudo pip install --upgrade numpy

sudo pip install scipy


注意事项:

  • 上面的说明适用于Apple的预安装版本的Python。如果您使用的是其他版本的Python,则应该真正考虑不要这样做。使路径,已安装的软件包等保持同步是一场噩梦。例外是,如果您想要Python 3.x版本,在这种情况下,从python.org或Homebrew安装它是完全合理的。不会有任何冲突,因为pythonpip2.7等将成为苹果的Python的; python3pip3.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安装程序提供)包含pipbootstrap。如果您的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:$PATH

export PATH

(在生效之前,您当然需要创建一个新的Terminal shell或提供脚本源。)

如果您使用homebrewbrew doctor则会告诉您是否正确。

以上是 SciPy构建/安装Mac Osx 的全部内容, 来源链接: utcz.com/qa/404093.html

回到顶部