7

I'm trying to install NumPy but I'm facing an issue. The python ver I'm using is 3.9 and Windows version is 10. The error is as follows:

C:\>pip3 install numpy
Collecting numpy

Using cached numpy-1.19.2.zip (7.3 MB)

Installing build dependencies ... done

Getting requirements to build wheel ... done

Preparing wheel metadata ... error

ERROR: Command errored out with exit status 1:

 command: 'c:\users\arr48\appdata\local\programs\python\python39\python.exe' 'c:\users\arr48\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\arr48\AppData\Local\Temp\tmp0g3__7ax'
     cwd: C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy
Complete output (200 lines):
Running from numpy source directory.
setup.py:470: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
  run_build = parse_setuppy_commands()
Processing numpy/random\_bounded_integers.pxd.in
Processing numpy/random\bit_generator.pyx
Processing numpy/random\mtrand.pyx
Processing numpy/random\_bounded_integers.pyx.in
Processing numpy/random\_common.pyx
Processing numpy/random\_generator.pyx
Processing numpy/random\_mt19937.pyx
Processing numpy/random\_pcg64.pyx
Processing numpy/random\_philox.pyx
Processing numpy/random\_sfc64.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries mkl_rt not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

blis_info:
  libraries blis not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

openblas_info:
  libraries openblas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelVisualFCompiler
Could not locate executable ifort
Could not locate executable ifl
customize AbsoftFCompiler
Could not locate executable f90
customize CompaqVisualFCompiler
Could not locate executable DF
customize IntelItaniumVisualFCompiler
Could not locate executable efl
customize Gnu95FCompiler
Could not locate executable gfortran
Could not locate executable f95
customize G95FCompiler
Could not locate executable g95
customize IntelEM64VisualFCompiler
customize IntelEM64TFCompiler
Could not locate executable efort
Could not locate executable efc
customize PGroupFlangCompiler
Could not locate executable flang
don't know how to compile Fortran code on platform 'nt'
  NOT AVAILABLE

atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
  libraries tatlas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

atlas_3_10_blas_info:
  libraries satlas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

atlas_blas_threads_info:
Setting PTATLAS=ATLAS
  libraries ptf77blas,ptcblas,atlas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

atlas_blas_info:
  libraries f77blas,cblas,atlas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

accelerate_info:
  NOT AVAILABLE

C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy\numpy\distutils\system_info.py:1914: UserWarning:
    Optimized (vendor) Blas libraries are not found.
    Falls back to netlib Blas library which has worse performance.
    A better performance should be easily gained by switching
    Blas library.
  if self._calc_info(blas):
blas_info:
  libraries blas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy\numpy\distutils\system_info.py:1914: UserWarning:
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.
  if self._calc_info(blas):
blas_src_info:
  NOT AVAILABLE

C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy\numpy\distutils\system_info.py:1914: UserWarning:
    Blas (http://www.netlib.org/blas/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [blas_src]) or by setting
    the BLAS_SRC environment variable.
  if self._calc_info(blas):
  NOT AVAILABLE

non-existing path in 'numpy\\distutils': 'site.cfg'
lapack_opt_info:
lapack_mkl_info:
  libraries mkl_rt not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

openblas_lapack_info:
  libraries openblas not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

openblas_clapack_info:
  libraries openblas,lapack not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

flame_info:
  libraries flame not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries tatlas,tatlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries lapack_atlas not found in C:\
  libraries tatlas,tatlas not found in C:\
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
  libraries tatlas,tatlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
  NOT AVAILABLE

atlas_3_10_info:
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries satlas,satlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries lapack_atlas not found in C:\
  libraries satlas,satlas not found in C:\
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
  libraries satlas,satlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
<class 'numpy.distutils.system_info.atlas_3_10_info'>
  NOT AVAILABLE

atlas_threads_info:
Setting PTATLAS=ATLAS
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries ptf77blas,ptcblas,atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries lapack_atlas not found in C:\
  libraries ptf77blas,ptcblas,atlas not found in C:\
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
  libraries ptf77blas,ptcblas,atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
<class 'numpy.distutils.system_info.atlas_threads_info'>
  NOT AVAILABLE

atlas_info:
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries f77blas,cblas,atlas not found in c:\users\arr48\appdata\local\programs\python\python39\lib
  libraries lapack_atlas not found in C:\
  libraries f77blas,cblas,atlas not found in C:\
  libraries lapack_atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
  libraries f77blas,cblas,atlas not found in c:\users\arr48\appdata\local\programs\python\python39\libs
<class 'numpy.distutils.system_info.atlas_info'>
  NOT AVAILABLE

lapack_info:
  libraries lapack not found in ['c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\arr48\\appdata\\local\\programs\\python\\python39\\libs']
  NOT AVAILABLE

C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy\numpy\distutils\system_info.py:1748: UserWarning:
    Lapack (http://www.netlib.org/lapack/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [lapack]) or by setting
    the LAPACK environment variable.
  return getattr(self, '_calc_info_{}'.format(name))()
lapack_src_info:
  NOT AVAILABLE

C:\Users\arr48\AppData\Local\Temp\pip-install-fincp1mj\numpy\numpy\distutils\system_info.py:1748: UserWarning:
    Lapack (http://www.netlib.org/lapack/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [lapack_src]) or by setting
    the LAPACK_SRC environment variable.
  return getattr(self, '_calc_info_{}'.format(name))()
  NOT AVAILABLE

numpy_linalg_lapack_lite:
  FOUND:
    language = c
    define_macros = [('HAVE_BLAS_ILP64', None), ('BLAS_SYMBOL_SUFFIX', '64_')]

c:\users\arr48\appdata\local\programs\python\python39\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
  warnings.warn(msg)
running dist_info
running build_src
build_src
building py_modules sources
creating build
creating build\src.win-amd64-3.9
creating build\src.win-amd64-3.9\numpy
creating build\src.win-amd64-3.9\numpy\distutils
building library "npymath" sources
error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Command errored out with exit status 1: 

'c:\users\arr48\appdata\local\programs\python\python39\python.exe' 

'c:\users\arr48\appdata\local\programs\python\python39\lib\site-

packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 

'C:\Users\arr48\AppData\Local\Temp\tmp0g3__7ax' Check the logs for full command output.
Michael Hall
  • 2,834
  • 1
  • 22
  • 40
Orpheus
  • 219
  • 1
  • 4
  • 9

2 Answers2

5

The numpy package does not yet include binaries for Python 3.9, so pip tries to compile from source. This (of course) requires you to have the appropriate C compiler, as the error message says. That is not straightforward. pip wants Visual C++ 14.2. The only version readily available from Microsoft is Visual C++ 2019, a.k.a. version 16, which won't work with pip. You can get Visual C++ 2015, a.k.a version 14, from https://visualstudio.microsoft.com/vs/older-downloads/. But it appears that only the latest version is free. You may have to pay for an older version. Even then, having the compiler isn't enough. You have to configure it, and that is not for the faint-hearted.

Instead, download a prepackaged binary wheel from Christoph Gohlke's site at https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy. The official scipy.org docs recommend this site. Obviously you must choose the .whl file that matches your system.

Install the wheel using pip like this:

pip install D:\Users\<user>\Downloads\numpy-1.19.2+mkl-cp39-cp39-win_amd64.whl
BoarGules
  • 16,440
  • 2
  • 27
  • 44
  • Thanks a lot...I installed anaconda...and installed numpy with anaconda...installed numpy using anaconda...but will definitely use your suggestion in future if I reinstall python idle – Orpheus Oct 08 '20 at 13:58
  • The `numpy` package **does** include binaries, but no binary has been built yet for Python 3.9 (which only *just* came out). Gohlke is just faster with building Windows wheels. – Martijn Pieters Oct 08 '20 at 15:31
1

last lines says:

"error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/"

Do you have msvc 14 ?

Rognan
  • 31
  • 3
  • I don't have msvc...I will install and let it know if it works – Orpheus Oct 07 '20 at 06:02
  • I'm still facing the issue...the same error – Orpheus Oct 07 '20 at 06:22
  • You clearly didn't try this advice out yourself. You can't download VC++ 14 from that link, only VC++ 16. And VC++ 16 won't satisfy `pip` which wants that exact version. Though the problem is really inside `distutils` which `pip` calls to do the heavy lifting in Windows. I've reported this problem to the `setuptools` team at https://github.com/pypa/setuptools/issues/2302. – BoarGules Oct 08 '20 at 21:48
  • You are wrong, I've tried. I had same problem and it helped me. I downloaded buildtools on that link and after that i've installed MSVC 14.0 component. Solved my problem. – Rognan Oct 09 '20 at 06:02
  • Maybe you can write an answer that explains exactly *how* you installed VC 14 from that link? I did the download, ran it, and afterwards `distutils` went looking for `vcvarsall.bat` and could not find it, and concluded I did not have VC++ installed. So I got the same error message. The vanilla install that link gives you is a version of VC++ that doesn't have `vcvarsall.bat` anywhere. Its counterpart in VC++ 16 is `VsDevCmd.bat.` I didn't see an option to install other versions. Presumably it is there somewhere, if you say so, but that wasn't clear to OP or to me. – BoarGules Oct 19 '20 at 23:31