J'essaie d'installer numpy (et scipy et matplotlib) dans un environnement virtural.
Je continue à avoir ces erreurs cependant:
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
Cleaning up...
Command python setup.py Egg_info failed with error code 1
J'ai les outils de ligne de commande pour xcode installés
$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc
Je suis sur Mac OSX 10.9 Utiliser un python installé
Éditer
Oui, j'essaie d'installer avec pip.
L'ensemble de la trace est énorme (> 400 lignes)
En voici une partie:
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
Bien que moche, il semble fonctionner
Sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy
Notez que si vous obtenez cette erreur pour un paquetage autre que numpy, (tel que lxml), spécifiez ce nom de paquetage à la place de numpy
à la fin de la commande.
J'ai vu un problème similaire que quelqu'un avait avec l'installation d'un bijou
Ce n'est qu'une solution temporaire, à un moment donné, les options du compilateur devront être corrigées
Pour Docker (Alpine) et Python 3.x cela a fonctionné pour moi:
RUN apk update
RUN apk add make automake gcc g++ Subversion python3-dev
Le problème est que vous ne pouvez pas compiler.
Tout d'abord, assurez-vous d'avoir accepté les nouvelles conditions d'utilisation avec Xcode. Pour ce faire, ouvrez simplement xCode et acceptez.
Ensuite, essayez d’installer gcc avec
brew install gcc
Enfin, essayez d’installer Numpy avec
pip install numpy
J'espère que cela t'aides.
Si vous ne souhaitez pas utiliser Sudo (les autorisations, etc., sont conservé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:
export ARCHFLAGS = -Wno-error = argument-en-ligne-de-commande-non-utilisé-dans-le-futur
Ensuite, lancez simplement la commande:
pip installer --upgrade numpy
Je devais simplement ouvrir XCode et accepter l'accord et le laisser installer les outils. Je suis ensuite retourné à PyCharm et ai réinstallé numpy sans aucun problème.
Pour les utilisateurs de Fedora rencontrant un problème similaire, essayez d’installer les packages:
(si vous n'utilisez pas python3, utilisez python-devel et pip au lieu 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
alors essaye
Sudo pip3 install numpy
Si vous exécutez une distribution Linux, vous aurez peut-être besoin d'un compilateur C, surtout si vous voyez des lignes de journal indicatives 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 Linux scientifique
# 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:
Sudo pip install numpy
Dans certains cas, après la mise à niveau de Xcode par OS X, ce dernier devra demander à l'utilisateur (avec des privilèges d'administrateur) 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 de code. Ou au moins python paquets.
Si vous lancez XCode et acceptez la licence, les erreurs n'apparaissent plus.
Au moins, c'était le cas pour moi.
Ce qui précède n'a fonctionné pour moi qu'après l'installation de python3-dev.
Sur Fedora 22, cela a été résolu en mettant à jour pip lui-même: Sudo pip install --upgrade pip
Cela signifie qu'il ne peut pas trouver votre compilateur C. Essayez d’installer le compilateur gcc si la liaison avec un autre compilateur échoue.