python - mac - Problemas con pip install numpy-RuntimeError: Broken toolchain: no se puede vincular un simple programa en C
numpy version (11)
El problema es que no puedes compilar.
Primero, asegúrese de haber aceptado los nuevos Términos y condiciones con Xcode. Para hacer esto, solo abra xCode y acepte.
Luego, intente instalar gcc con
brew install gcc
Finalmente, intente instalar Numpy con
pip install numpy
Espero que esto ayude.
Estoy tratando de instalar numpy (y scipy y matplotlib) en un virturalenv.
Sigo recibiendo estos errores sin embargo:
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1
Tengo las herramientas de línea de comandos para xcode instalado
$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc
Estoy en Mac OSX 10.9 Usando un brew instalado python
Editar
Sí, tratando de instalar con pip.
Todo el rastreo es enorme (> 400 líneas)
Aquí hay una sección de esto:
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
En Fedora 22 esto se resolvió actualizando pip en sí: sudo pip install --upgrade pip
En algunos casos, después de que OS X actualice XCode, XCode requerirá que el usuario (con privilegios administrativos) acepte una nueva licencia. Hasta que se acepte la licencia, clang y gcc emitirán un error al intentar compilar y vincular el código. O al menos paquetes de Python.
Si inicia XCode y acepta la licencia, los errores ya no aparecen.
Al menos, este fue el caso para mí.
Esto significa que no puede encontrar su compilador de C. Intente instalar el compilador gcc si falla el enlace de otro compilador.
Lo anterior funcionó para mí solo después de instalar python3-dev.
Para Docker (Alpine) y Python 3.x esto funcionó para mí:
RUN apk add make automake gcc g++ subversion python3-dev
Para los usuarios de Fedora que están teniendo un problema similar, intente instalar estos paquetes:
(si no usa Python3 use python-devel y pip en lugar de 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
entonces intenta
sudo pip3 install numpy
Si bien es feo, parece que funciona
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy
Tenga en cuenta que si obtiene este error para un paquete distinto de numpy, (como lxml) especifique ese nombre de paquete en lugar de numpy
al final de la lista.
Vi un problema similar que alguien estaba teniendo con la instalación de una gema
Esta es solo una solución temporal, en algún punto las opciones del compilador tendrán que ser reparadas
Si está ejecutando una distribución de Linux, puede necesitar un compilador de C, especialmente si ve líneas de registro reveladores como sh: gcc: command not found
. Puede seguir las instrucciones here , que he resumido a continuación:
Fedora, Red Hat, CentOS o Scientific Linux
# yum groupinstall ''Development Tools''
Debian o Ubuntu Linux
$ sudo apt-get update $ sudo apt-get install build-essential manpages-dev
Entonces puedes intentar volver a ejecutar:
sudo pip install numpy
Si no desea usar sudo (para que los permisos y cosas así se conserven al usar venv), puede agregar la declaración ARCHFLAGS a su .bash_profile y ejecutarla normalmente. Esto funcionó para mí con Mavericks y Xcode 5.1 usando con venv:
En ~ / .bash_profile:
exportar ARCHFLAGS = -Wno-error = no utilizado-línea de comando-argumento-hard-error-in-future
Entonces, solo ejecuta el comando:
pip install --upgrade numpy
Simplemente tuve que abrir XCode y aceptar el acuerdo y dejar que instalara las herramientas. Luego volví a PyCharm e instalé Numpy nuevamente sin problemas.