简体   繁体   中英

Error when install h5py on my Windows11, Visual Studio Code, Python 3.10.4, 64-bt

I meet error when install h5py on my Windows11, Visual Studio Code, Python 3.10.4, 64-bt

Please see error detail at the very end of the post

My working process as below (ie, the way I tired to solve the error):

1st: Upgrade pip, wheel and setuptools : They already satisfied as shown below

PS C:\users\mreal\appdata\local\programs\python\python310\lib\site-packages> pip3 install --upgrade pip
>>
Requirement already satisfied: pip in c:\users\mreal\appdata\local\programs\python\python310\lib\site-packages (22.1.2)
PS C:\users\mreal\appdata\local\programs\python\python310\lib\site-packages> pip install --upgrade wheel          
Requirement already satisfied: wheel in c:\users\mreal\appdata\local\programs\python\python310\lib\site-packages (0.37.1)
PS C:\users\mreal\appdata\local\programs\python\python310\lib\site-packages>  pip install --upgrade setuptools
Requirement already satisfied: setuptools in c:\users\mreal\appdata\local\programs\python\python310\lib\site-packages (63.2.0)

2nd: Installing virtualenv : Already downloaded

Requirement already satisfied: virtualenv in c:\users\mreal\appdata\roaming\python\python310\site-packages (20.15.1)
Requirement already satisfied: six<2,>=1.9.0 in c:\users\mreal\appdata\local\programs\python\python310\lib\site-packages (from virtualenv) (1.15.0)
Requirement already satisfied: platformdirs<3,>=2 in c:\users\mreal\appdata\roaming\python\python310\site-packages (from virtualenv) (2.5.2)
Requirement already satisfied: filelock<4,>=3.2 in c:\users\mreal\appdata\roaming\python\python310\site-packages (from virtualenv) (3.7.1)
Requirement already satisfied: distlib<1,>=0.3.1 in c:\users\mreal\appdata\roaming\python\python310\site-packages (from virtualenv) (0.3.5)

3rd install C++ build tool : Already download and ready to use as shown below在此处输入图像描述

4th try install package through terminal : Get error pip install h5py==3.1.0 and pip install --no-binary=h5py h5py==3.1.0

PS C:\users\mreal\appdata\local\programs\python\python310\lib\site-packages> pip install --no-binary=h5py h5py==3.1.0
Collecting h5py==3.1.0
  Using cached h5py-3.1.0.tar.gz (371 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error
  
  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [292 lines of output]
      Collecting numpy==1.19.3
        Using cached numpy-1.19.3.zip (7.3 MB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        Preparing metadata (pyproject.toml) did not run successfully.
        exit code: 1

        [267 lines of output]
        setup.py:67: RuntimeWarning: NumPy 1.19.3 may not yet support Python 3.10.
          warnings.warn(
        Running from numpy source directory.
        setup.py:480: 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\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        blis_info:
          libraries blis not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        openblas_info:
          libraries openblas not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\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\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        atlas_3_10_blas_info:
          libraries satlas not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        atlas_blas_threads_info:
        Setting PTATLAS=ATLAS
          libraries ptf77blas,ptcblas,atlas not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        atlas_blas_info:
          libraries f77blas,cblas,atlas not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        accelerate_info:
          NOT AVAILABLE
      
        C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\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\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\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\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\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\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        openblas_lapack_info:
          libraries openblas not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        openblas_clapack_info:
          libraries openblas,lapack not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        flame_info:
          libraries flame not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        atlas_3_10_threads_info:
        Setting PTATLAS=ATLAS
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries tatlas,tatlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries lapack_atlas not found in C:\
          libraries tatlas,tatlas not found in C:\
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
          libraries tatlas,tatlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\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\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries satlas,satlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries lapack_atlas not found in C:\
          libraries satlas,satlas not found in C:\
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
          libraries satlas,satlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\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\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries ptf77blas,ptcblas,atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries lapack_atlas not found in C:\
          libraries ptf77blas,ptcblas,atlas not found in C:\
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
          libraries ptf77blas,ptcblas,atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
        <class 'numpy.distutils.system_info.atlas_threads_info'>
          NOT AVAILABLE

        atlas_info:
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries f77blas,cblas,atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\lib
          libraries lapack_atlas not found in C:\
          libraries f77blas,cblas,atlas not found in C:\
          libraries lapack_atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
          libraries f77blas,cblas,atlas not found in C:\Users\mreal\AppData\Local\Programs\Python\Python310\libs
        <class 'numpy.distutils.system_info.atlas_info'>
          NOT AVAILABLE

        lapack_info:
          libraries lapack not found in ['C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\', 'C:\\Users\\mreal\\AppData\\Local\\Programs\\Python\\Python310\\libs']
          NOT AVAILABLE

        C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\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\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\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\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\dist.py:275: 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.10
        creating build\src.win-amd64-3.10\numpy
        creating build\src.win-amd64-3.10\numpy\distutils
        building library "npymath" sources
        Traceback (most recent call last):
          File "C:\Users\mreal\AppData\Local\Temp\tmpc2l1c36b_in_process.py", line 363, in <module>
            main()
          File "C:\Users\mreal\AppData\Local\Temp\tmpc2l1c36b_in_process.py", line 345, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "C:\Users\mreal\AppData\Local\Temp\tmpc2l1c36b_in_process.py", line 164, in prepare_metadata_for_build_wheel
            return hook(metadata_directory, config_settings)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\build_meta.py", line 157, in prepare_metadata_for_build_wheel
            self.run_setup()
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\build_meta.py", line 248, in run_setup
            super(_BuildMetaLegacyBackend,
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\build_meta.py", line 142, in run_setup
            exec(compile(code, __file__, 'exec'), locals())
          File "setup.py", line 508, in <module>
            setup_package()
          File "setup.py", line 500, in setup_package
            setup(**metadata)
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\core.py", line 169, in setup
            return old_setup(**new_attr)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\__init__.py", line 165, in setup
            return distutils.core.setup(**attrs)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 148, in setup
            dist.run_commands()
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 967, in run_commands
            self.run_command(cmd)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
            cmd_obj.run()
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\command\dist_info.py", line 31, in run
            egg_info.run()
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\egg_info.py", line 24, in run
            self.run_command("build_src")
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
            self.distribution.run_command(command)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
            cmd_obj.run()
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\build_src.py", line 144, in run
            self.build_sources()
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\build_src.py", line 155, in build_sources
            self.build_library_sources(*libname_info)
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\build_src.py", line 288, in build_library_sources
            sources = self.generate_sources(sources, (lib_name, build_info))
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\build_src.py", line 378, in generate_sources
            source = func(extension, build_dir)
          File "numpy\core\setup.py", line 658, in get_mathlib_info
            st = config_cmd.try_link('int main(void) { return 0;}')
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 243, in try_link
            self._link(body, headers, include_dirs,
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\config.py", line 162, in _link
            return self._wrap_method(old_config._link, lang,
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\config.py", line 96, in _wrap_method
            ret = mth(*((self,)+args))
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 137, in _link
            (src, obj) = self._compile(body, headers, include_dirs, lang)
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\config.py", line 105, in _compile
            src, obj = self._wrap_method(old_config._compile, lang,
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\command\config.py", line 96, in _wrap_method
            ret = mth(*((self,)+args))
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 132, in _compile
            self.compiler.compile([src], include_dirs=include_dirs)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 401, in compile
            self.spawn(args)
          File "C:\Users\mreal\AppData\Local\Temp\pip-build-env-cy6f82db\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 505, in spawn
            return super().spawn(cmd, env=env)
          File "C:\Users\mreal\AppData\Local\Temp\pip-install-m130oaf9\numpy_f66176bbdc274ad0810a0a91798319ab\numpy\distutils\ccompiler.py", line 90, in <lambda>
            m = lambda self, *args, **kw: func(self, *args, **kw)
        TypeError: CCompiler_spawn() got an unexpected keyword argument 'env'
        [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: metadata-generation-failed

      Encountered error while generating package metadata.

      See above for output.

      note: This is an issue with the package mentioned above, not pip.
      hint: See above for details.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

h5py version 3.1 requires numpy=1.19.3 which does not have wheels for python 3.10, only up to 3.9 and building numpy from source on Windows is not easy because you would need to take care of quite some dependencies which you would need to build manually before (see eg libraries mkl_rt not found in your error message).

I would therefore suggest to either:

  • downgrade your python version, then install all versions as set in yur question
  • consider if a newer version of h5py (with a different numpy requirement) would also work for you
  • Try pip install --no-deps h5py==3.1.0 and install a numpy version compatible with your python separately. This has a high chance of not working, though.

The first option is probably the best, since you most likely have reasons why you need that specific h5py version. If you find yourself often needing different python versions for different projects, consider using a virtual environment manager like conda

A quick way to resolve the issue without troubleshooting.

Please follow the steps and update the same.

  1. Uninstall all the packages you are currently having problems with.
  2. Create a virtual environment: How to create a virtual environment link here
  3. After successfully creating the virtual environment -> Install Anaconda or IDE there.
  4. Install all packages inside the virtual environment.
  5. Test by importing them and see if it works.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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