您的问题是您需要安装 Fortran 编译器来构建scipy.
此外,如果您已经有一个numpy禁用 Fortran 支持的构建,您可能需要替换它。一些 Apple 预装的 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是:brew install gcc“。)
你真的很想使用pipto install scipy,所以如果你没有那个,请先获取它。Apple 预装的 Python,至少在 10.7 和 10.8 中,包括easy_install但不包括pip,所以最简单的方法是:
sudo easy_install pip
但是,您可能需要考虑使用 avirtualenv而不是全局安装(在这种情况下,您还希望删除sudo以下命令中的 )。
现在你已经有了gfortranand pip,你所要做的就是:
sudo pip install --upgrade numpy
sudo pip install scipy
注意事项:
上述说明适用于 Apple 预装的 Python 版本。如果你使用的是不同版本的 Python,你真的应该考虑不这样做。保持路径、安装的包等同步是一场噩梦。例外情况是如果您想要 Python 3.x 版本,在这种情况下,从 python.org 或 Homebrew 安装它是完全合理的。不会有冲突,因为python,pip2.7等将用于 Apple 的 Python;python3, pip3.3, 等用于 3.x 版本。
如果您已经有pip,但担心它可能已过时,pip install --upgrade pip. (除了安全性和鲁棒性的好处之外,这可以让您与某些科学堆栈或其他模块的二进制轮子兼容,从而为您节省大量时间。)
对于大多数非 Apple Python安装(甚至可能是 Apple 在 10.9 或 10.10 中的;我还没有检查过),您不应该使用. 按照安装说明进行操作。但首先要确保你还没有它。easy_installpippip
- 如果您使用
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等。
如果您使用的是 Python 2.7 的非 Apple 版本,并且想要避免 PATH 问题,则必须做两件事:
首先,永远不要pip在多个 Python 中安装任何包含脚本或二进制文件(包括其自身)的 Python 包。例如,如果您同时安装ipythonApple 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 应用程序(和 LaunchAgent 等),显然不再有支持的方式来执行此操作,但已弃用的QA1067似乎仍然可以在 Lion 中使用。这也是 Homebrew FAQ和Python FAQ所建议的。
如果您只关心命令行会话(Terminal.app 和远程 ssh),则可以改为只执行标准 Unix 操作,即编辑相应的配置文件。哪个配置文件适合取决于您想要影响的内容。(所有用户还是只有一个用户?bash 或任何 shell?等等。)如果你不知道你想要哪一个,你真的应该做一些研究。如果你不想费心学习,~/.profile那就去做,如果这不是你想要的,就不要抱怨。
无论哪种方式,您都需要确保适当的路径出现/usr/bin在 PATH 之前。因此,例如,您可以将以下内容添加到~/.profile:
PATH=/usr/local/bin:$PATH
export PATH
(您当然需要创建一个新的终端 shell 或获取脚本,然后才能生效。)
如果您正在使用homebrew,brew doctor会告诉您是否正确。