繁体   English   中英

为什么在安装 numpy 时会出现“RuntimeError: Broken toolchain: cannot link a simple C program”错误?

[英]Why do I get a "RuntimeError: Broken toolchain: cannot link a simple C program" error when installing numpy?

我在 Windows 上,并且安装了 Microsoft C++ 构建工具、Python 3.9 和最新版本的 pip。 最初我会收到一个错误,详细说明我需要安装 C++ 构建工具,我就是这样做的。 但是,当我运行“pip install numpy”时,出现另一个错误。 完整的错误消息可以在下面找到:

ERROR: Command errored out with exit status 1:
     command: 'c:\users\aravb\appdata\local\programs\python\python39\python.exe' 'c:\users\aravb\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\aravb\AppData\Local\Temp\tmphsaddixr'
         cwd: C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy
    Complete output (247 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\\aravb\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\aravb\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

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

    openblas_info:
      libraries openblas not found in ['c:\\users\\aravb\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\aravb\\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
    Found executable C:\Program Files\Git\usr\bin\DF.exe
    Could not locate executable C:\Program
    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\\aravb\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\aravb\\appdata\\local\\programs\\python\\python39\\libs']
      NOT AVAILABLE

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

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

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

    accelerate_info:
      NOT AVAILABLE

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

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

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

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

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

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

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

    C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\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\aravb\AppData\Local\Temp\pip-install-swrzcesh\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\aravb\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
    LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
    Traceback (most recent call last):
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
        main()
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 133, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "C:\Users\aravb\AppData\Local\Temp\pip-build-env-awvfw0p5\overlay\Lib\site-packages\setuptools\build_meta.py", line 157, in prepare_metadata_for_build_wheel
        self.run_setup()
      File "C:\Users\aravb\AppData\Local\Temp\pip-build-env-awvfw0p5\overlay\Lib\site-packages\setuptools\build_meta.py", line 248, in run_setup
        super(_BuildMetaLegacyBackend,
      File "C:\Users\aravb\AppData\Local\Temp\pip-build-env-awvfw0p5\overlay\Lib\site-packages\setuptools\build_meta.py", line 142, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 499, in <module>
        setup_package()
      File "setup.py", line 491, in setup_package
        setup(**metadata)
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\core.py", line 169, in setup
        return old_setup(**new_attr)
      File "C:\Users\aravb\AppData\Local\Temp\pip-build-env-awvfw0p5\overlay\Lib\site-packages\setuptools\__init__.py", line 165, in setup
        return distutils.core.setup(**attrs)
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\aravb\AppData\Local\Temp\pip-build-env-awvfw0p5\overlay\Lib\site-packages\setuptools\command\dist_info.py", line 31, in run
        egg_info.run()
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\command\egg_info.py", line 24, in run
        self.run_command("build_src")
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\users\aravb\appdata\local\programs\python\python39\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\command\build_src.py", line 144, in run
        self.build_sources()
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\command\build_src.py", line 155, in build_sources
        self.build_library_sources(*libname_info)
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\command\build_src.py", line 288, in build_library_sources
        sources = self.generate_sources(sources, (lib_name, build_info))
      File "C:\Users\aravb\AppData\Local\Temp\pip-install-swrzcesh\numpy\numpy\distutils\command\build_src.py", line 378, in generate_sources
        source = func(extension, build_dir)
      File "numpy\core\setup.py", line 655, in get_mathlib_info
        raise RuntimeError("Broken toolchain: cannot link a simple C program")
    RuntimeError: Broken toolchain: cannot link a simple C program

我找到了问题所在。 Python 3.9 仍然有很多问题,恢复到我之前的 Python 3.7 允许我安装 numpy 和其他此类包而没有任何问题。

谢谢您的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM