在MacOS上从源构建

注解

本文件未予维护,仅供参考。有关基于MacOS的构建,请参阅 开发环境快速入门指南(MacOS)

这些说明描述了如何从源代码构建NumPy和SciPy库。

如果您只想使用NumPy或SciPy,请按照中所述安装预构建的二进制文件 安装和升级

Python

苹果在OSX上发布了它自己的Python版本。 强烈地 建议安装 official Python distribution

或者,也可以从OSX包管理器(Homebrew、MacPorts、Fink)中使用Python。

编译器(C/C++/FORTRAN/Cython/Pythran)

虽然实际上任何商用的C/C++编译器都可以与SciPy一起使用,但是Clang C/C++编译器,这是一个Xcode命令行工具,可以在OS X上使用。唯一缺少的是GNU FORTRAN编译器。

我们推荐gfortran;这是一个免费的、开源的F95编译器。我们建议您使用以下二进制文件:

看见 this site 获取最新链接。

CythonPythran ,还需要两个预编译器。

BLAS/LAPACK安装

您还需要安装一个提供BLAS和LAPACK接口的库。Atlas、OpenBLAS和MKL都可以工作。OpenBLAS可以通过以下方式安装 Homebrew

从SciPy版本1.2.0开始,我们不支持针对BLAS和LAPACK的系统加速库进行编译。它不支持足够新的LAPACK接口。

特定于版本的说明

本节仅说明特定于OSX或Python的一个版本的内容。中的构建说明 Obtaining and Building NumPy and SciPy 适用于所有版本。

获取并构建NumPy和SciPy

您可以通过签出源文件或从下载源归档文件来安装NumPy和SciPy GitHub 。如果选择后者,只需展开归档文件(通常是gzip压缩的tar文件),否则从存储库中签出以下分支:

$ git clone https://github.com/numpy/numpy.git
$ git clone https://github.com/scipy/scipy.git

NumPy和SciPy都是按如下方式构建的:

$ python setup.py build
$ python setup.py install

上述规定适用于 official Python distribution ,它仅适用于2.6的32位,而32/64位的捆绑包适用于2.7和3.x。对于Snow Leopard上的替代64位Python(来自苹果或自制),您可能需要扩展构建标志以通过设置LDFLAGS和FFLAGS来指定体系结构。

请注意,对于给定的构建标志(如LDFLAGS),使用distutils(setup.py) 不扩展但覆盖默认值 ,因此您必须指定所有必要的标志。只有在你知道自己在做什么的情况下才能试一试!

在成功构建之后,您可以尝试运行SciPy的内置单元测试:

$ python
>>> import numpy as np
>>> np.test('full')
>>> import scipy
>>> scipy.test()

当您在Numpy/Scipy源代码树中时,请确保不要导入Numpy或Scipy。请先切换目录。

如果您根据这些说明在Mac上安装SciPy时遇到任何问题,请查看 scipy-users and scipy-dev mailing list archives 寻找可能的解决方案。如果您仍然困难重重,请随时加入Scipy-Users寻求进一步的帮助。请准备好以下信息:

  • 您的操作系统版本

  • “GCC”和“格佛兰经”的版本及其获得“格佛兰经”的途径

    • $ gcc --version

    • $ gfortran --version

  • 您尝试安装的numpy和scipy版本

  • 的全部产出 $ python setup.py build