Проблемы с pip install numpy - RuntimeError: Broken toolchain: невозможно связать простую программу C
Я пытаюсь установить numpy (и scipy и matplotlib) в virturalenv.
Я все равно получаю эти ошибки:
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
Edit
Да, пытаясь установить с помощью 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
Ответы
Ответ 1
В то время как он уродливый, он работает
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy
Обратите внимание, что если вы получаете эту ошибку для пакета, отличного от numpy (например, lxml), укажите это имя пакета вместо numpy
в конце комм.
Я видел аналогичную проблему, с которой кто-то сталкивался с установкой драгоценного камня
Установка Ruby Gem Json не работает на Mavericks и Xcode 5.1 - неизвестный аргумент: '-multiply_definedsuppress'
Это только временное исправление, в какой-то момент параметры компилятора должны быть исправлены.
Ответ 2
Для Docker (Alpine) и Python 3.x это сработало для меня:
RUN apk update
RUN apk add make automake gcc g++ subversion python3-dev
Ответ 3
Проблема в том, что вы не можете скомпилировать.
Во-первых, убедитесь, что вы приняли новые Условия и положения с помощью Xcode. Для этого просто откройте xCode и примите.
Затем попробуйте установить gcc с помощью
brew install gcc
Наконец, попробуйте установить Numpy с помощью
pip install numpy
Надеюсь, это поможет.
Ответ 4
Если вы не хотите использовать sudo (так что разрешения и подобные вещи сохраняются при использовании venv), вы можете добавить объявление ARCHFLAGS в свой .bash_profile и работать как обычно. Это сработало для меня с Mavericks и Xcode 5.1 с помощью venv:
В ~/.bash_profile:
export ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future
Затем просто запустите команду:
pip install --upgrade numpy
Ответ 5
Мне просто пришлось открыть XCode и принять соглашение и позволить ему устанавливать инструменты. Затем я вернулся к PyCharm и снова установил numpy без проблем.
Ответ 6
Для пользователей Fedora, имеющих аналогичную проблему, попробуйте установить эти пакеты:
(если не использовать python3, используйте python-devel и pip вместо pip3)
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
Ответ 7
Если вы используете дистрибутив 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
Ответ 8
В некоторых случаях после того, как OS X обновит XCode, XCode потребует от пользователя (с правами администратора) принять новую лицензию. Пока лицензия не будет принята, clang и gcc выдадут ошибку при попытке скомпилировать и связать код. Или, по крайней мере, пакеты python.
Если вы запустите XCode и примите лицензию, ошибки больше не появятся.
По крайней мере, это было для меня.
Ответ 9
Выше работала для меня только после установки python3-dev.
Ответ 10
Это означает, что он не может найти ваш компилятор C.
Попробуйте установить компилятор gcc, если сбой другого компилятора не работает.
Ответ 11
В Fedora 22 это было разрешено путем обновления самого пакета:
sudo pip install --upgrade pip