6

I'm on Python 2.7 and I'm trying to use the NLTK part of speech tagger, which generates this error because I don't have numpy installed:

> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/nltk/tag/__init__.py", line 99, in pos_tag
    tagger = load(_POS_TAGGER)
  File "/Library/Python/2.7/site-packages/nltk/data.py", line 605, in load
    resource_val = pickle.load(_open(resource_url))
ImportError: No module named numpy.core.multiarray

So I download numpy 1.7.0 from here, did a cd into my downloads folder and did python setup.py install and got this error:

Running from numpy source directory.
non-existing path in 'numpy/distutils': 'site.cfg'
F2PY Version 2
blas_opt_info:
  FOUND:
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    define_macros = [('NO_ATLAS_INFO', 3)]
    extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']

lapack_opt_info:
  FOUND:
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    define_macros = [('NO_ATLAS_INFO', 3)]
    extra_compile_args = ['-msse3']

running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
creating build
creating build/src.macosx-10.6-intel-2.7
creating build/src.macosx-10.6-intel-2.7/numpy
creating build/src.macosx-10.6-intel-2.7/numpy/distutils
building library "npymath" sources
customize Gnu95FCompiler
Could not locate executable gfortran
Could not locate executable f95
customize NAGFCompiler
customize AbsoftFCompiler
Could not locate executable f90
Could not locate executable f77
customize IBMFCompiler
Could not locate executable xlf90
Could not locate executable xlf
customize IntelFCompiler
Could not locate executable ifort
Could not locate executable ifc
customize GnuFCompiler
Could not locate executable g77
customize G95FCompiler
Could not locate executable g95
customize PGroupFCompiler
Could not locate executable pgfortran
don't know how to compile Fortran code on platform 'posix'
C compiler: gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3

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/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
gcc-4.2: _configtest.c
sh: gcc-4.2: command not found
sh: gcc-4.2: command not found
failure.
removing: _configtest.c _configtest.o
Traceback (most recent call last):
  File "setup.py", line 214, in <module>
    setup_package()
  File "setup.py", line 207, in setup_package
    configuration=configuration )
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/core.py", line 186, in setup
    return old_setup(**new_attr)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/install.py", line 55, in run
    r = old_install.run(self)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/install.py", line 563, in run
    self.run_command('build')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/build.py", line 37, in run
    old_build.run(self)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build.py", line 127, in run
    self.run_command(cmd_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/build_src.py", line 152, in run
    self.build_sources()
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/build_src.py", line 163, in build_sources
    self.build_library_sources(*libname_info)
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/build_src.py", line 298, in build_library_sources
    sources = self.generate_sources(sources, (lib_name, build_info))
  File "/Users/mikaschiller/Downloads/numpy-1.7.0/numpy/distutils/command/build_src.py", line 385, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 648, in get_mathlib_info
    raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program   

I then tried to install it with sudo pip install -U numpy and got the same "cannot link a simple C program" error. I can't figure out what's going on here. Is the numpy version incompatible with python 2.7 or perhaps NLTK?

Mika Schiller
  • 425
  • 1
  • 8
  • 19

5 Answers5

4

The module depends on a working C build chain. It depends on your system how you install it, google will help in this case.

You can see it is looking for gcc:

sh: gcc-4.2: command not found

On Debian-based linux you would install that and the python headers with (edited per comment):

sudo apt-get install build-essential python-dev
globin
  • 432
  • 5
  • 13
  • 1
    Don't forget you'll also need the `python-dev` package on those systems. – Cairnarvon May 19 '13 at 22:41
  • I'm on Mac Lion 10.7.5 with Xcode 4.6 and just installed command line tools. I did gcc -v in command line to see if gcc is installed and it returned(shortened): Using built-in specs. Target: i686-apple-darwin11....Thread model: posix gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00). So gcc is apparently installed. I tried setup.py install again on numpy and got the same "Broken toolchain..." error. Is this not the right version of gcc for lion? – Mika Schiller May 20 '13 at 04:39
  • try this from http://www.scipy.org/Installing_SciPy/Mac_OS_X#head-9ec15aabd402675e5139a8c9c727e6a23513d56a `export CC=gcc; export CXX=g++; export FFLAGS=ff2c` – globin May 20 '13 at 23:23
4

I ran into the same bug and fixed it by updating pip.

pip install --upgrade pip

Hope that it helps.

Alberto Rincon
  • 480
  • 4
  • 11
2

Recently I had been seeing this along with:

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

See here to fix:

clang error: unknown argument: '-mno-fused-madd' (python package installation failure)

Community
  • 1
  • 1
JTE
  • 1,301
  • 12
  • 14
1

You need to install gcc.

On CentOS:

sudo yum install gcc

Try reinstall numpy, if you see the following error:

Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-root/numpy

Run:

sudo yum install python-devel
Mingyu
  • 31,751
  • 14
  • 55
  • 60
0

Maybe not what you need, but if you have trouble installing numpy I recommend "Pyzo". It is a python distribution that comes along with a very interesting set of packages, among which is located numpy. www.pyzo.org