J'essaye d'installer numpy (et scipy et matplotlib) dans un virturalenv.
Je continue cependant à recevoir ces erreurs:
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1
J'ai installé les outils de ligne de commande pour xcode
$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc
Je suis sur Mac OSX 10.9 en utilisant un python installé brew
Modifier
Oui, en essayant d'installer avec pip.
L'ensemble du traçage est énorme (> 400 lignes)
En voici une section:
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
RuntimeError
ligne, afin que nous puissions voir quelles commandes échouent. De plus, installez-vous viapip
ou en construisant la source directement?Réponses:
Bien que ce soit moche, cela semble fonctionner
Notez que si vous obtenez cette erreur pour un package autre que numpy, (tel que lxml) spécifiez ce nom de package au lieu de
numpy
à la fin de la commande.J'ai vu un problème similaire que quelqu'un rencontrait avec l'installation d'un bijou
L'installation de Ruby Gem échoue sur Mavericks et Xcode 5.1 - argument inconnu: '-multiply_definedsuppress'
Ce n'est qu'une correction temporaire, à un moment donné, les options du compilateur devront être corrigées
la source
unused-command-line-argument-hard-error-in-future
toujours nécessaire avec le dernier Xcode sous Yosemite? Les choses semblent fonctionner (du moins pour les paquets que j'ai fatigués) sans cela.Pour Docker (Alpine) et Python 3.x, cela a fonctionné pour moi:
la source
apk update
première, sinon j'ai reçu unERROR: unsatisfiable constraints
message.gcc g++ make python3-dev
pour numpy / nmslib. La cause de cette question semble être le compilateur C ++ manquantg++
(il semble par l'erreurgcc
etmake
sont déjà installés). Les autres parties importantes denumpy
build sont les en-têtes python3 fournis avecpython3-dev
.Le problème est que vous ne parvenez pas à compiler.
Tout d'abord, assurez-vous d'avoir accepté les nouvelles conditions générales avec Xcode. Pour ce faire, ouvrez simplement xCode et acceptez.
Ensuite, essayez d'installer gcc avec
Enfin, essayez d'installer Numpy avec
J'espère que cela t'aides.
la source
Si vous ne voulez pas utiliser sudo (donc les permissions et les choses comme ça sont préservées lors de l'utilisation de venv), vous pouvez ajouter la déclaration ARCHFLAGS à votre .bash_profile et l'exécuter normalement. Cela a fonctionné pour moi avec Mavericks et Xcode 5.1 en utilisant avec venv:
Dans ~ / .bash_profile:
Ensuite, exécutez simplement la commande:
la source
sudo
précède est pour une installation à l'échelle du système, peut fonctionner sans dans un virtualenvJ'ai simplement dû ouvrir XCode et accepter l'accord et le laisser installer les outils. Je suis ensuite retourné à PyCharm et installé à nouveau numpy sans aucun problème.
la source
Si vous exécutez une distribution Linux, vous aurez peut-être besoin d'un compilateur C, surtout si vous voyez des lignes de journal révélatrices comme
sh: gcc: command not found
. Vous pouvez suivre les instructions ici , que j'ai résumées ci-dessous:Fedora, Red Hat, CentOS ou Scientific Linux
# yum groupinstall 'Development Tools'
Debian ou Ubuntu Linux
$ sudo apt-get update $ sudo apt-get install build-essential manpages-dev
Ensuite, vous pouvez essayer de réexécuter:
la source
Pour les utilisateurs de fedora qui rencontrent un problème similaire, essayez d'installer ces packs:
(si vous n'utilisez pas python3, utilisez python-devel et pip au lieu de pip3)
puis essayez
la source
Dans certains cas, après la mise à niveau de XCode d'OS X, XCode demandera à l'utilisateur (avec des privilèges administratifs) d'accepter une nouvelle licence. Jusqu'à ce que la licence soit acceptée, clang et gcc émettront une erreur lors de la tentative de compilation et de liaison du code. Ou au moins des packages python.
Si vous lancez XCode et acceptez la licence, les erreurs n'apparaissent plus.
Du moins, c'était le cas pour moi.
la source
Cela signifie qu'il ne trouve pas votre compilateur C. Essayez d'installer le compilateur gcc si la liaison d'un autre compilateur échoue.
la source
Ce qui précède n'a fonctionné pour moi qu'après l'installation de python3-dev.
la source
Sur Fedora 22, cela a été résolu en mettant à jour pip lui-même:
sudo pip install --upgrade pip
la source