Can't install numpy with setup.py

16,800

Solution 1

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

Solution 2

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

pip install --upgrade pip

Hope that it helps.

Solution 3

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)

Solution 4

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
Share:
16,800
Mika Schiller
Author by

Mika Schiller

Updated on June 13, 2022

Comments

  • Mika Schiller
    Mika Schiller almost 2 years

    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?

  • Cairnarvon
    Cairnarvon almost 11 years
    Don't forget you'll also need the python-dev package on those systems.
  • Mika Schiller
    Mika Schiller almost 11 years
    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?
  • globin
    globin almost 11 years
    try this from scipy.org/Installing_SciPy/… export CC=gcc; export CXX=g++; export FFLAGS=ff2c
  • wolfgang
    wolfgang almost 7 years
    you need to be wayyy up!