错误:命令“gcc”失败,退出状态为1,安装Fatiando(Python包)

2024-10-01 11:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试安装fatiando,一个Python的地球物理建模包。 我有一台苹果操作系统v10.9.5。通过遵循package site上建议的安装,我获得了Fatiando的所有依赖项(通过Anaconda)。我已经安装了Xcode。在

我得到一个警告列表和最后一条错误消息:

    fatiando/gravmag/_polyprism.c:349:10: fatal error: 'omp.h' file not found

    #include "omp.h"

             ^

    1 warning and 1 error generated.

    error: command 'gcc' failed with exit status 1

    ----------------------------------------
    Command "//anaconda/bin/python -c "import setuptools, tokenize;__file__='/var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-QFjo6d-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-CY4vyX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /var/folders/32/mwq0jhwd3dx7vjqmm8hkljp80000gn/T/pip-QFjo6d-build
Macintosh-5:fatiando matteoniccoli$ 

完整的终端输出(1100+行)可以找到here。在

我已经联系了开发人员,这似乎不是法蒂安多的问题。在

有什么建议吗?在

更新,3月15日

当我第一次发布这篇文章时,我没有Xcode,然后我从苹果商店下载了最新的Xcode。再试一次,得到同样的信息。然后我阅读this,从here下载gcc,并直接安装。当我在终端上输入:gcc --version时,我得到的是:i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) 不过,在那之后,我仍然收到类似的信息。遵循另一个stackoverflow线索,我试图从here安装setuptools 使用curlhttps://bootstrap.pypa.io/ez_setup.py-o-| python 现在,当我尝试安装fatiando时,我得到了一个不同的错误(在长输出的末尾):

^{pr2}$

一个论坛的人通过电子邮件问我: 你安装了Xcode命令行工具吗?看看这个 http://railsapps.github.io/xcode-command-line-tools.html

但是,当我试图验证tI是否按照建议成功地安装了Xcode命令行工具时,我发现了这一点,所以我认为这不是问题所在:

-bash: /Library/Developer/CommandLineTools: is a directory

3月16日更新 利奥·乌伊田提出的尝试性解决方案。在

pip安装--upgrade https://github.com/fatiando/fatiando/archive/kill-omp.zip没有问题,但是

pip install --upgrade https://github.com/fatiando/fatiando/archive/master.zip让我回到1号广场:

...
...    
fatiando/gravmag/_polyprism.c:349:10: fatal error: 'omp.h' file not found

        #include "omp.h"

                 ^

        1 warning and 1 error generated.

        error: command '/usr/bin/clang' failed with exit status 1

        ----------------------------------------
        Rolling back uninstall of fatiando

Tags: pipbuildvarwitherror建议commandfolders
2条回答

(知道您使用的gcc版本会很有用。)

gcc在v4.9之前没有与OpenMP一起提供。在

Seethis answer可以帮助您使用xcode更新gcc-it。在

这是Fatiando安装中非常常见的问题,特别是在Windows和Mac上。OpenMP是在PR 106中为fatiando.gravmag正向建模模块引入的。它很容易实现(只需将range(ndata)替换为prange(ndata)),并且比顺序执行的速度提高了1.5-2倍。同时,并行执行是自动的。所以在当时看来这是一个很好的权衡(“只是安装一个额外的依赖项?会出什么问题?”)。在

当Pythongcc和默认Mac gcc没有随OpenMP一起提供时,问题就开始了。因此,Windows用户必须安装一个额外的依赖项(按照一个非常特殊的顺序,就像撒旦的仪式一样),而Mac用户则不得不自食其力。在

OpenMP和编译过的Cython模块将从Fatiando(#169)中删除,而不是multiprocessing和{}。这将使它成为一个纯Python包(不需要编译),大多数安装问题都应该得到解决。在

同时,PR 177从Cython模块中删除OpenMP需求。这将修复当前的安装问题。要立即获得更改,可以从kill-omp分支安装版本,方法是运行:

pip install  upgrade https://github.com/fatiando/fatiando/archive/kill-omp.zip

如果上面的命令不起作用,这意味着pull请求已经合并到项目的主分支(master)中。如果是这样,您可以从master分支安装最新版本:

^{pr2}$

这些更改将包含在未来的v0.4版本中。希望这能解决你的问题。在

相关问题 更多 >