I'm not able to install any package. I even tried updating pip and setuptools. I tried uninstalling and reinstalling python multiple times, but still the same error. I earlier had python 3.8 (32-bit), and it was working fine then. However, I needed 64-bit for tensorflow so I uninstalled the one I had got the latest (3.9) 64-bit version. My Windows is 64-bit so no problem there. The error I'm getting,
C:\Users\AMIT(Home)>pip 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\amit(home)\appdata\local\programs\python\python39\python.exe' 'c:\users\amit(home)\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\AMIT(Home)\AppData\Local\Temp\tmpq2gtxfef'
cwd: C:\Users\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
blis_info:
libraries blis not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
openblas_info:
libraries openblas not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\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\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
atlas_3_10_blas_info:
libraries satlas not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
accelerate_info:
NOT AVAILABLE
C:\Users\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
C:\Users\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
openblas_lapack_info:
libraries openblas not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
openblas_clapack_info:
libraries openblas,lapack not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
flame_info:
libraries flame not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in c:\users\amit(home)\appdata\local\programs\python\python39\lib
libraries tatlas,tatlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\libs
libraries tatlas,tatlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\lib
libraries satlas,satlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\libs
libraries satlas,satlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\lib
libraries ptf77blas,ptcblas,atlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\libs
libraries ptf77blas,ptcblas,atlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\lib
libraries f77blas,cblas,atlas not found in c:\users\amit(home)\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\amit(home)\appdata\local\programs\python\python39\libs
libraries f77blas,cblas,atlas not found in c:\users\amit(home)\appdata\local\programs\python\python39\libs
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
libraries lapack not found in ['c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\amit(home)\\appdata\\local\\programs\\python\\python39\\libs']
NOT AVAILABLE
C:\Users\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\AMIT(Home)\AppData\Local\Temp\pip-install-g8tkhg_y\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\amit(home)\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\amit(home)\appdata\local\programs\python\python39\python.exe' 'c:\users\amit(home)\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\AMIT(Home)\AppData\Local\Temp\tmpq2gtxfef' Check the logs for full command output.
No, if you read the error messags you're not able to install packages which require compilation (because they contain native code). I'm reasonably certain pure-python packages would work just fine.
On Windows, native packages are generally delivered as pre-built binaries ("binary wheels") because most systems don't have build tools.
However while pure-python packages are generally multi-version, binary wheels need to be built and distributed separately for each individual version of Python.
Since Python 3.9 is a recent release (it's 2 weeks old), it stands to reason that the maintainers of the packages may not have had the time & occasion to Q&A their respective packages yet, and thus have yet to build the corresponding wheels for distribution.
Your solutions are thus:
live on the edge and as the error message tells you
by installing MSVC++ you would be able to (attempt to) compile the binary packages locally, this may or may not succeed as the packages may plain not be compatible with 3.9 as they stand
live more safely, remove 3.9 and install 3.8, for which the packages you want probably have wheels
wait until the packages you want publish a binary wheel for 3.9
install a "scientific distribution" which would usually take care of the entire thing e.g. anaconda