【问题标题】:How to install Scipy with pip on Mac Mountain Lion OS X v10.8如何在 Mac Mountain Lion OS X v10.8 上使用 pip 安装 Scipy
【发布时间】:2012-08-19 00:12:48
【问题描述】:

在 Mountain Lion 上使用 pip 安装 Scipy 时遇到严重困难。 我试过了:

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

正如网络上不同地方所建议的那样。

这会导致如下错误:

ld: library not found for -lgcc
lipo: can't figure out the architecture type of: /var/tmp//ccC2HLVs.out

以及错误前的几个警告(我认为不严重)。

有人有什么建议吗?

【问题讨论】:

  • 我还没有安装 Mountain Lion,但根据经验,我建议第一步远离pip。下载源代码并使用python setup.py install --user 自行编译。 --user 标志将强制安装在~/.local,不需要sudo

标签: macos scipy pip osx-mountain-lion


【解决方案1】:

我用 Mac OS El Captain 尝试了所有方法:pip、ma​​cports、easy_install……。唯一对我有用的是 brew:

$ brew install scipy

之后,它会要求您按照以下说明进行操作:

$ brew link --overwrite numpy
$ mkdir -p /Users/adrieljr/Library/Python/2.7/lib/python/site-packages
$ echo 'import sys; sys.path.insert(1, "/usr/local/lib/python2.7/site-packages")' >> /Users/adrieljr/Library/Python/2.7/lib/python/site-packages/homebrew.pth

【讨论】:

    【解决方案2】:

    在 Mavericks 上以下工作(也可能在其他版本上工作):

    如果您还没有安装pip

    sudo easy_install pip
    

    然后安装/更新scipy

    sudo pip install scipy -U
    

    出于某种原因pip 安装scipy

    /Library/Python/2.7/site-packages/
    

    并且不会删除旧版本

    /System/Library/Frameworks/Python.framework/Versions/2.7//Extras/lib/python/scipy/
    

    所以只需删除旧版本即可。打印版本号:

    python -c "import scipy; print scipy.__version__"
    

    【讨论】:

      【解决方案3】:

      以下是我在虚拟环境中安装 matplotlib 和 scipy 的方法(Mac OS X 10.9.2 Mavericks):

      # See George's answer above
      brew update
      brew upgrade
      brew install gfortran 
      
      # See http://www.scipy.org/scipylib/building/macosx.html (the link Nathan Gould posted above)
      export CXX=g++-5.1
      export CC=gcc-5.1
      export FFLAGS=-ff2c
      sudo ln -s /usr/bin/gcc /usr/bin/gcc-5.1
      sudo ln -s /usr/bin/g++ /usr/bin/g++-5.1
      
      pip install matplotlib
      pip install scipy
      

      matplot lib 安装很快,但是 scipy 花了很长时间。

      【讨论】:

        【解决方案4】:

        Pip 通常在 OS X 上使用 scipy 有困难。从源代码安装并非易事,因此我建议不要这样做。在 OS X 中,您有一些更好的选择:

        • Scipy superpack,一堆预编译的二进制文件
        • Enthought Canopy(免费或其他)已经拥有您需要的一切(numpy、scipy、matplotlib 等)
        • Anaconda,一个免费的科学 Python 发行版,其中可能包含您需要的所有软件包。
        • MacPorts,一个全面而灵活的包管理器,可让您安装和维护 python 发行版
        • Homebrew,另一个流行的 OS X 包管理器

        【讨论】:

        • 我希望通过 pip 做到这一点,部分原因是为了控制我的环境。我似乎记得以前版本的 OSX 是可能的。为什么安装开发版本的建议(可能适用于其他人)对我不起作用,我部分感到困惑......
        • @arlogb 来自scipy webpage:“还请注意,不建议使用 pip 尤其是 easy_install,因为这些工具通常会出现标准 python setup.py install 没有的问题。”
        • 这有点晚了,但是关于通过 PIP 安装,它似乎对我来说效果很好,只要我先安装伪可选要求。一般来说,我必须先 # 安装 numpy 和 PIL,所以 PIP 不会 # 搞乱 scipy 安装。 pip install numpy pil pip install -r requirements.txt # 包含 scipy 相关的 PIP 问题是 Github #25
        • scipy superpack 是否仍然相关且是最新的?
        【解决方案5】:

        我在 OSX 10.9 Mavericks 上安装 scipy 时也遇到了类似的问题。为我解决的问题如下:

        sudo pip list
        

        显示 numpy,因此我做到了:

        sudo pip install --upgrade numpy
        

        之后

        brew list
        

        正在显示 gfortran。我确保我有最新版本的

        brew update
        brew upgrade
        

        但是

        sudo pip install scipy 
        

        因奇怪的 fortran 错误而失败。 所以我卸载它并重新安装它

        sudo brew install gfortran
        sudo brew uninstall gfortran
        

        让我大吃一惊

        sudo pip install scipy 
        

        在那之后工作。

        【讨论】:

        • 谢谢你,帮助我在 Mavericks 上安装了 Homebrew 的 scipy。 (我现在一直安装 gfortran...)
        【解决方案6】:

        使用 pip 在 Mac OS X 上安装 scipy 是可能的!您将需要系统上正确的 C 和 Fortran 编译器来设置 scipy。此页面应该可以帮助您:

        http://www.scipy.org/scipylib/building/macosx.html

        完成此操作后,您应该可以使用pip install scipy 进行安装。

        作为附加的故障排除说明,您可能需要创建指向编译器的符号链接,以便安装过程可以找到它。之前的海报@biophetik 给出了一个如何做到这一点的例子。

        另外,当我安装 scipy 时,我已经在我的虚拟环境中安装了 numpy。我不确定一个是否/如何依赖另一个。

        【讨论】:

          【解决方案7】:

          我最近在 virtualenv 上安装 scipy 时也遇到了麻烦。我的问题是没有正确看到 gfortran。我使用了 macports sudo port install gcc48 并通过以下方式创建了一个指向 gfortran 的符号链接:

          sudo ln -s /opt/local/bin/gfortran-mp-4.8 /opt/local/bin/gfortran
          

          在那之后,pip install scipy 在我的 virtualenv 上运行没有任何错误。

          【讨论】:

          • 这对我有用。在 OS X 10.8.5、Python 2.7 上,在 venv 中。谢谢! @biophetik
          【解决方案8】:

          只是为了补充@Anton I. Sipos 所说的话。我安装了 Enthought 包,但在升级它时遇到了问题,所以我决定使用 Homebrew 进行全新安装。不幸的是,仅仅执行点击并安装对我来说效果不佳。因此,经过一番搜索,我在 GitHub 上找到了一个 issuesamualjohn 为我处理并为我工作:

          brew remove python
          rm -rf /Library/Python/2.7/site-packages # it's save to delete this!
          brew install python
          pip install nose
          brew install numpy
          brew install scipy
          

          问题显然是 Enthought 卸载说明未涵盖的站点包中的冲突。

          注意:我必须使用 pip 安装 matplotlib

          【讨论】:

            【解决方案9】:

            现在也可以通过自制水龙头获得 Scipy。如果您安装了homebrew

            brew tap samueljohn/python
            brew install scipy
            

            在此处查看更多信息:homebrew-python

            【讨论】:

            • 另外,我需要先使用 Homebrew 的 Python('brew install python; brew link --overwrite python'),然后在 tap 和 scipy install 之后(都成功):'pip install python -dateutil'。
            猜你喜欢
            • 1970-01-01
            • 2013-09-24
            • 1970-01-01
            • 2012-12-30
            • 1970-01-01
            • 1970-01-01
            • 2012-09-23
            • 1970-01-01
            • 2012-10-15
            相关资源
            最近更新 更多