13

无论如何要在 Mac OS Lion 附带的 python 2.6.7 上安装 numpy 和 scipy 吗?我知道 Lion 也有 Python 2.7。但我需要坚持使用 Python 2.6,因为我使用的模块不适用于 Python 2.7。

4

3 回答 3

34

Lion为其每个 Python 实现都附带了一个easy_install/usr/bin/easy_install-2.7 : for /usr/bin/python2.7,同样适用于 2.6 和 2.5。

但是,scipy 需要一个 Fortran 编译器,而 Lion 没有附带其中之一。看起来您必须在安装 numpy 之前安装 Fortran 编译器,否则以后无法安装 scipy。

首先,您需要 Xcode 命令行工具。(Apple 经常更改这个包的名称——它可能是“Unix 开发工具”或“CLI 开发工具链”等,具体取决于您的 Xcode 版本。)

这些可以由 Xcode 自己安装。如果您使用的是 4.3.x,在从 App Store 安装 Xcode 后,启动它,转到 Preferences、Downloads、Components,然后单击“Command Line Tools”旁边的 Install 按钮。对于不同的版本,或者如果您想在没有 Xcode 的情况下安装它们,Homebrew 页面(见下文)解释了如何获取它们,或者您可以查看Apple 的开发者网站

如果您已经有了包管理器(Homebrew、MacPorts 或 Fink),请使用它。如果没有,请安装Homebrew

curl https://raw.github.com/gist/323731/25f99360c7de3f72027d8fd07cb369b1c8756ea6/install_homebrew.rb -o /tmp/install_homebrew.rb
ruby /tmp/install_homebrew.rb
rehash

然后像这样安装 gfortran:

brew install gfortran

现在您已准备好安装 numpy 和 scipy。如果你更喜欢pip而不是 easy_install(如果你不知道,你可能更喜欢 pip),你必须先安装它:

sudo easy_install-2.6 pip

然后使用它来安装软件包:

sudo pip-2.6 install numpy

根据您的确切操作系统版本和其他详细信息,您可能已经拥有 2.6 的内置 numpy,但该 numpy 不支持 Fortran。你可以这么说,因为sudo pip-2.6 install numpyRequirement already satisfied (use --upgrade to upgrade): numpy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python。解决方案是完全按照错误消息所说的去做:

sudo pip-2.6 install --upgrade numpy

最后:

sudo pip-2.6 install scipy
于 2012-07-12T01:07:14.027 回答
24

我在 Mountain Lion 上安装 SciPy 时遇到了类似的问题。

OSX 山狮 10.8

Python 2.7.3

点 1.1

酿造 0.9.2

GNU Fortran (GCC) 4.2.1

我收到的一些错误包括:

这:

pip install scipy

产生了这个错误:

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

这导致我寻找一个 Fortran 编译器:

这个命令:

brew install gfortran

这产生了这个错误:

Error: Currently the gfortran compiler provided by this brew is only supports the following versions of XCode:

    - XCode 3.1.4 on OS X 10.5.x
    - XCode 3.2.2/3.2.3 -- 4.0 on OS X 10.6.x
    - XCode 4.1 or newer on OS X 10.7.x

The AppStore and Software Update can help upgrade your copy of XCode.
The latest version of XCode is also available from:

http://developer.apple.com/technologies/xcode.html

这让我看到了一篇博文:http: //www.joewandy.com/。我遵循了这个建议:

这个命令:

brew edit gfortran

将使用 xcode 打开一个文件。我在两个地方修改了这个文件:

论文2行:

if MacOS.xcode_version >= '4.2' and MACOS_VERSION == 10.7
    ohai "Installing gfortran 4.2.4 for XCode 4.2 (build 5666)"

变成:

if MacOS.xcode_version >= '4.2' and MACOS_VERSION >= 10.7
    ohai "Installing gfortran 4.2.4 for XCode 4.2 (build 5666) or higher"

换句话说:

更改== 10.7>= 10.7 和更改XCode 4.2 (build 5666)XCode 4.2 (build 5666) or higher

然后我做了

brew install gfortran

再次。成功并显示以下消息:

Downloading http://r.research.att.com/tools/gcc-42-5666.3-darwin11.pkg

Already downloaded: /Library/Caches/Homebrew/gfortran-4.2.4-5666.3.pkg
==> Installing gfortran 4.2.4 for XCode 4.2 (build 5666) or higher
==> Caveats
Brews that require a Fortran compiler should not use:

depends_on 'gfortran'

The preferred method of declaring Fortran support is to use:

def install
    ...
    ENV.fortran
    ...
end

==> Summary

/usr/local/Cellar/gfortran/4.2.4-5666.3: 86 files, 72M, built in 2 seconds

然后我做了:

pip install scipy

但这给了我这个:

#error "<vecLib/vecLib.h> is deprecated.  Please #include <Accelerate/Accelerate.h> and link to Accelerate.framework."

然后我找到了这篇博文:在 Mountain Lion 上编译 SciPy http://www.thisisthegreenroom.com/2012/compiling-scipy-on-mountain-lion/

说要使用这个命令:

pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev

这大约需要 5 到 6 分钟才能完成

Installed /Users/hernamesbarbara/src/scipy
Successfully installed scipy
Cleaning up...

之后我可以做

python


Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> help(scipy)

    Help on package scipy:

NAME
    scipy

成功!

已安装 SciPy 版本:

full_version = '0.12.0.dev-14b1e07'
git_revision = '14b1e07602ff33a6e8250eb2bc7a6816677606a9'
release = False
short_version = '0.12.0'
version = '0.12.0.dev-14b1e07'
于 2012-09-08T17:38:39.347 回答
2

我认为您不需要安装 Brew 和 XCode,也不需要自己编译 gfortran:我从http://hpc.sourceforge.net安装了 gfortran 的编译版本,一切似乎都正常。(我在 10.7.5)

于 2013-03-19T01:47:43.730 回答