【问题标题】:Trouble installing scipy despite having python2.7 and numpy installed already尽管已经安装了 python2.7 和 numpy,但安装 scipy 时遇到问题
【发布时间】:2014-07-27 12:26:54
【问题描述】:

我在通过http://sourceforge.net/projects/scipy/files/scipy/ 提供的二进制文件安装 scipy 时遇到问题

安装 dmg 安装程序后双击 mpkg 文件会出现以下错误: “scipy 0.13.0 无法安装在此磁盘上。scipy 需要系统 Python 2.7 才能安装”

但是,我已经安装了 python 2.7 和 numpy。 Python 2.7 默认是 OSX Lion,所以我假设它是 System Python。使用其他 python 模块,通常可以下载二进制文件然后运行 python setup.py 安装

有没有办法通过 mpkg 文件 cd 并找到 setup.py?有什么建议可以通过这个 dmg 安装程序安装吗?

我知道还有其他方法可以管理 python 模块,例如 port 和 brew。但是,我已经通过 setup.py 安装了一堆包,我不知道如何让 port 来识别这些包(例如,它会尝试通过 port 重新安装 python 和 numpy)

谢谢!

【问题讨论】:

  • 首先,MacPorts 无法为您的系统 Python 安装包;它构建了一个完全独立的 Python 2.7 安装并为此安装包。并且一次安装两个 2.7 会导致混乱。
  • 同时,我从源代码安装 SciPy 没有问题,通过 pip 用于 Lion 的系统 Python 2.7。您将需要安装一个 fortran 编译器(例如,使用 brew),并且您可能需要升级 NumPy,但除此之外,它可以正常工作。详情请见here
  • 安装程序所需的“系统 Python”很可能是您可以从 python.org 获得的 Python 版本

标签: python scipy


【解决方案1】:

如果您有 Mavericks 和 XCode 5,则必须从 Apple 开发者网站手动安装命令行工具。我找到了this helpful post

【讨论】:

    【解决方案2】:

    这里有一些误解。

    使用其他python模块,通常可以下载二进制文件然后运行python setup.py install

    不,这就是你对 source 包所做的。

    有没有办法通过 mpkg 文件 cd 并找到 setup.py?

    没有。 mpkg 中的内容是 pkg 文件。其中充满了 xar 档案,其中充满了 cpio 档案。里面有 built 版本的 SciPy——也就是说,如果你运行 setup.py 会复制到你的站点包中的文件——而不是源包。

    但是你可以自己下载源码包。

    或者,更好的是,让pip(或easy_install,但pip 更好)为您下载并运行 setup.py。

    有什么建议可以通过这个 dmg 安装程序安装吗?

    如果它不起作用,我的建议是不要使用它,而是使用pip 安装。

    This blog post 解释它,但我会在下面给你与你相关的细节。

    我知道还有其他方法可以管理 python 模块,例如 port 和 brew。但是,我已经通过 setup.py 安装了一堆包,我不知道如何让端口识别这些包。

    你不能。 MacPorts 不会触及你的系统 Python;它构建了自己独立的 Python 2.7,具有完全独立的站点包目录和其他所有内容。您必须重新安装第二个 Python 2.7 的所有内容。并处理在同一台机器上安装两个 Python 2.7 的困惑。

    除非万不得已,否则不要这样做。

    事实上,如果你想将 Homebrew 用于任何东西(你确实这样做了,见下文),请卸载 MacPorts,除非你真的需要它。


    所以,步骤如下:

    • 卸载 MacPorts。
    • 我假设您已经拥有 Xcode 及其命令行工具。
    • 我假设您已经拥有 Homebrew。
    • 使用 brew install gfortran 安装 Fortran 编译器。
    • Lion 的 Python 2.7 带有 easy_install,但没有 pip。所以sudo easy_install pip 来解决这个问题。当您使用它时,我建议您使用 sudo easy_install readline,因为您会希望 ipython 使用它,但它不适用于 pip。
    • Apple 预装的 NumPy 必须升级,并在 Fortran 支持下重新构建,才能使 SciPy 正常工作。使用sudo pip install --upgrade --force-reinstall numpy 解决此问题。
    • 如果你想要 ipython、pandas 等,sudo pip install 每个也一样。

    如果您正在考虑尽快升级,在 OS X 10.9.0 上对我来说完全相同的步骤,除了一些额外的工作来设置 Xcode 5 命令行工具。

    【讨论】:

    • 同样的问题:我有 Python 2.7,想从 .mpkg 重新安装 scipy。它说我没有 System Python 2.7,这是错误的。我不想安装/使用 pip 或 brew。应该有更简单的方法。我尝试了一个完整的手动安装(0.14.0):sudo python setup.py install,但它在最后停止并出现链接错误(“未找到架构 i386 的符号”,尽管我已经完成了 export FARCHFLAGS= “-arch x86_64”之前。
    • @EricH.:如果您有特定问题,请创建一个新问题,不要评论一年多前针对不同 OS X、Xcode 和 SciPy 的问题的答案比你正在使用的用户和没有按照你的顺序做事的用户。
    • @EricH.:同时,鉴于 0.14 的最后一个安装程序包在 OS X 10.10 甚至是开发人员预览版之前就已经发布,而且 10.10 的 Python 组织方式与 10.8 不同(不确定 10.9)它不是令人惊讶的是它不会识别您的系统 Python。最初的 10.6 软件包在修复之前无法在 10.7 上运行。也许试试 0.15b1 包(上周发布)看看它是否有不同的工作方式。
    • @EricH.:最后,“我不想安装/使用 pip”……为什么?这是the official, recommended way to install third-party packages。如果你不打算使用它,你必须自己做它所做的一切。在这种情况下,这包括确保您的 NumPy 和 SciPy 同步;因为听起来你一直在使用 Apple 预装的 NumPy,所以你还没有这样做,所以事情不会奏效。而且您还没有安装 Fortran 编译器;您没有必须为此使用 brew,但您必须以某种方式
    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2013-08-19
    • 2013-11-06
    相关资源
    最近更新 更多