尝试在 python3.9 中安装 numpy 并在 Windows 10 中准备车轮元数据时出错。我没有使用虚拟环境进行检查

Aka*_*_98 13 python numpy pip

尝试安装numpy时出现以下错误:

C:\Users\lenovo>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\lenovo\appdata\local\programs\python\python39\python.exe' 'c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\lenovo\AppData\Local\Temp\tmpmtdh020c'
         cwd: C:\Users\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\\lenovo\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

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

    openblas_info:
      libraries openblas not found in ['c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\lenovo\\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\\lenovo\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

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

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

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

    accelerate_info:
      NOT AVAILABLE

    C:\Users\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\\lenovo\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

    C:\Users\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\\lenovo\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

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

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

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

    atlas_3_10_threads_info:
    Setting PTATLAS=ATLAS
      libraries lapack_atlas not found in c:\users\lenovo\appdata\local\programs\python\python39\lib
      libraries tatlas,tatlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\libs
      libraries tatlas,tatlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\lib
      libraries satlas,satlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\libs
      libraries satlas,satlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\lib
      libraries ptf77blas,ptcblas,atlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\libs
      libraries ptf77blas,ptcblas,atlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\lib
      libraries f77blas,cblas,atlas not found in c:\users\lenovo\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\lenovo\appdata\local\programs\python\python39\libs
      libraries f77blas,cblas,atlas not found in c:\users\lenovo\appdata\local\programs\python\python39\libs
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

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

    C:\Users\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\lenovo\AppData\Local\Temp\pip-install-c07n3_wi\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\lenovo\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\lenovo\appdata\local\programs\python\python39\python.exe' 'c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\lenovo\AppData\Local\Temp\tmpmtdh020c' Check the logs for full command output.
Run Code Online (Sandbox Code Playgroud)

那么,为什么会这样呢?

Gul*_*zar 8

Python 3.9 于 3 天前发布(今天 - 2020 年 10 月 8 日)。它还没有用于 numpy 的轮子。

这里

但是在 3.9 发布后不久,许多包还没有适用于 Python 3.9 的轮子。例如,截至 10 月 6 日,NumPy(Pandas 依赖项)的 PyPI 文件列表和 Pandas 的文件列表都没有显示 Python 3.9 轮子。当然,您可以从源代码编译这些包,假设它们在 Python 3.9 中开箱即用——但这需要更多的努力(设置编译器)和时间。

现在真的需要 3.9 有什么特别的原因吗?

如果没有,我现在会坚持使用 3.8 甚至 3.7。以后升级应该超级容易。

  • 或者他们可以使用“pip install pipwin”、“pipwin install numpy”,因为 Gohlke 已经拥有为 3.9 构建的 numpy 轮(以及大多数其他需要编译器的流行 Python 包)。 (2认同)