[python] pip install numpy 관련 문제-RuntimeError : Broken toolchain : cannot link a simple C program

virturalenv에 numpy (및 scipy 및 matplotlib)를 설치하려고합니다.

그래도 이러한 오류가 계속 발생합니다.

RuntimeError: Broken toolchain: cannot link a simple C program

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1

xcode 용 명령 줄 도구가 설치되어 있습니다.

$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc

저는 Mac OSX 10.9에서 brew 설치된 Python을 사용하고 있습니다.

편집
예, pip로 설치하려고합니다.
전체 역 추적은 거대합니다 (> 400 줄).

다음은 그 섹션입니다.

C compiler: cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe



compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'

cc: _configtest.c

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

failure.

removing: _configtest.c _configtest.o

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 192, in <module>

    setup_package()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 185, in setup_package

    configuration=configuration )

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/core.py", line 169, in setup

    return old_setup(**new_attr)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup

    dist.run_commands()

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands

    self.run_command(cmd)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/egg_info.py", line 10, in run

    self.run_command("build_src")

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command

    self.distribution.run_command(command)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 153, in run

    self.build_sources()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 164, in build_sources

    self.build_library_sources(*libname_info)

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 299, in build_library_sources

    sources = self.generate_sources(sources, (lib_name, build_info))

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources

    source = func(extension, build_dir)

  File "numpy/core/setup.py", line 674, in get_mathlib_info

    raise RuntimeError("Broken toolchain: cannot link a simple C program")

RuntimeError: Broken toolchain: cannot link a simple C program



답변

추악하지만 작동하는 것처럼 보입니다.

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy

numpy 이외의 패키지 (예 : lxml)에 대해이 오류가 발생하는 경우 명령 numpy끝 대신 패키지 이름을 지정 하십시오.

누군가가 gem을 설치하는 것과 비슷한 문제를 보았습니다.

Ruby Gem 설치 Json이 Mavericks 및 Xcode 5.1에서 실패 함-알 수없는 인수 : ‘-multiply_definedsuppress’

이것은 일시적인 수정일 뿐이며, 어떤 시점에서 컴파일러 옵션을 수정해야합니다.


답변

Docker (Alpine) 및 Python 3.x의 경우 이것은 나를 위해 일했습니다.

RUN apk update
RUN apk add make automake gcc g++ subversion python3-dev


답변

문제는 컴파일 할 수 없다는 것입니다.

먼저 Xcode의 새로운 이용 약관에 동의했는지 확인하십시오. 이렇게하려면 xCode를 열고 수락하면됩니다.

그런 다음 gcc를 설치하십시오.

brew install gcc

마지막으로 Numpy를 다음과 같이 설치하십시오.

pip install numpy

도움이 되었기를 바랍니다.


답변

sudo를 사용하지 않으려면 (venv를 사용할 때 권한 및 이와 같은 것이 보존 됨) ARCHFLAGS 선언을 .bash_profile에 추가하고 정상적으로 실행할 수 있습니다. 이것은 venv와 함께 사용하는 Mavericks 및 Xcode 5.1에서 저에게 효과적이었습니다.

~ / .bash_profile에서 :

ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future 내보내기

그런 다음 다음 명령을 실행하십시오.

pip 설치-numpy 업그레이드


답변

XCode를 열고 계약에 동의하고 도구를 설치하기 만하면됩니다. 그런 다음 PyCharm으로 돌아가서 문제없이 numpy를 다시 설치했습니다.


답변

Linux 배포판을 실행하는 경우 C 컴파일러가 필요할 수 있습니다. 특히 sh: gcc: command not found. 당신의 지시에 따를 수 있습니다 여기에 내가 아래에 요약했습니다 :

  • Fedora, Red Hat, CentOS 또는 Scientific Linux

    # yum groupinstall 'Development Tools'

  • Debian 또는 Ubuntu Linux

    $ sudo apt-get update
    $ sudo apt-get install build-essential manpages-dev

그런 다음 다시 실행할 수 있습니다.

sudo pip install numpy


답변

비슷한 문제가있는 fedora 사용자의 경우 다음 패키지를 설치해보십시오.

(python3을 사용하지 않는 경우 pip3 대신 python-devel 및 pip 사용)

sudo dnf install python3-devel
sudo dnf install make automake gcc gcc-c++ gcc-gfortran
sudo dnf install redhat-rpm-config
sudo dnf install subversion

다음 시도

sudo pip3 install numpy