我正在尝试将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
编辑
是,尝试使用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 "", line 17, in File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 192, in 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
小智.. 73
虽然很难看,但似乎有效
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'
这只是一个临时修复,在某些时候必须修复编译器选项
如果您不想使用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
问题是你无法编译.
首先,确保您已使用Xcode接受新的条款和条件.要做到这一点,只需打开xCode并接受.
然后,尝试安装gcc
brew install gcc
最后,尝试安装Numpy
pip install numpy
希望这可以帮助.
对于Docker(Alpine)和Python 3.x,这对我有用:
RUN apk update RUN apk add make automake gcc g++ subversion python3-dev
虽然很难看,但似乎有效
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'
这只是一个临时修复,在某些时候必须修复编译器选项
我只需打开XCode并接受协议并让它安装工具.然后我回到PyCharm并再次安装numpy没有任何问题.