Question: 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. 

Answer: 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