環境
- Windows 11 version 22H2
- Anaconda 3
- Python 3.10.12(3.10.13以降ではエラーが発生したため)
- Unity 2022.3.5f1
エラーの内容
ml-agentsのrelease-21のドキュメントの通りに環境構築していました。
https://github.com/Unity-Technologies/ml-agents/blob/release_21/docs/Installation.md
python -m pip install ./ml-agents-envs
の部分で
ERROR: Failed building wheel for numpy
Successfully built mlagents-envs
Failed to build numpy
ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
で終わるエラーが発生しました。
エラー全文(長いです)
(前略)
Building wheel for numpy (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for numpy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [287 lines of output]
setup.py:63: RuntimeWarning: NumPy 1.21.2 may not yet support Python 3.10.
warnings.warn(
Running from numpy source directory.
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\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
blis_info:
libraries blis not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
openblas_info:
libraries openblas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
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
accelerate_info:
NOT AVAILABLE
atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
libraries tatlas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
atlas_3_10_blas_info:
libraries satlas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\system_info.py:2026: 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\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\system_info.py:2026: 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\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\system_info.py:2026: 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\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
openblas_lapack_info:
libraries openblas not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
openblas_clapack_info:
libraries openblas,lapack not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
flame_info:
libraries flame not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries tatlas,tatlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries lapack_atlas not found in C:\
libraries tatlas,tatlas not found in C:\
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries tatlas,tatlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\Library\lib
libraries tatlas,tatlas not found in C:\Users\PolyC\anaconda3\Library\lib
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
NOT AVAILABLE
atlas_3_10_info:
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries satlas,satlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries lapack_atlas not found in C:\
libraries satlas,satlas not found in C:\
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries satlas,satlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\Library\lib
libraries satlas,satlas not found in C:\Users\PolyC\anaconda3\Library\lib
<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\PolyC\anaconda3\envs\mlagents\lib
libraries ptf77blas,ptcblas,atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries lapack_atlas not found in C:\
libraries ptf77blas,ptcblas,atlas not found in C:\
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries ptf77blas,ptcblas,atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\Library\lib
libraries ptf77blas,ptcblas,atlas not found in C:\Users\PolyC\anaconda3\Library\lib
<class 'numpy.distutils.system_info.atlas_threads_info'>
NOT AVAILABLE
atlas_info:
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries f77blas,cblas,atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\lib
libraries lapack_atlas not found in C:\
libraries f77blas,cblas,atlas not found in C:\
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries f77blas,cblas,atlas not found in C:\Users\PolyC\anaconda3\envs\mlagents\libs
libraries lapack_atlas not found in C:\Users\PolyC\anaconda3\Library\lib
libraries f77blas,cblas,atlas not found in C:\Users\PolyC\anaconda3\Library\lib
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
libraries lapack not found in ['C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\lib', 'C:\\', 'C:\\Users\\PolyC\\anaconda3\\envs\\mlagents\\libs', 'C:\\Users\\PolyC\\anaconda3\\Library\\lib']
NOT AVAILABLE
C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\system_info.py:1858: 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\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\system_info.py:1858: 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_')]
Warning: attempted relative import with no known parent package
C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\dist.py:275: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
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\PolyC\anaconda3\envs\mlagents\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "C:\Users\PolyC\anaconda3\envs\mlagents\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "C:\Users\PolyC\anaconda3\envs\mlagents\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\build_meta.py", line 211, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\build_meta.py", line 197, in _build_with_temp_dir
self.run_setup()
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\build_meta.py", line 248, in run_setup
super(_BuildMetaLegacyBackend,
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\build_meta.py", line 142, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 448, in <module>
setup_package()
File "setup.py", line 440, in setup_package
setup(**metadata)
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\core.py", line 169, in setup
return old_setup(**new_attr)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\__init__.py", line 165, in setup
return distutils.core.setup(**attrs)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 967, in run_commands
self.run_command(cmd)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
cmd_obj.run()
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 299, in run
self.run_command('build')
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
cmd_obj.run()
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\build.py", line 61, in run
old_build.run(self)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
cmd_obj.run()
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\build_src.py", line 144, in run
self.build_sources()
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\build_src.py", line 155, in build_sources
self.build_library_sources(*libname_info)
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\build_src.py", line 288, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\build_src.py", line 378, in generate_sources
source = func(extension, build_dir)
File "numpy\core\setup.py", line 661, in get_mathlib_info
st = config_cmd.try_link('int main(void) { return 0;}')
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 243, in try_link
self._link(body, headers, include_dirs,
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\config.py", line 163, in _link
return self._wrap_method(old_config._link, lang,
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\config.py", line 98, in _wrap_method
ret = mth(*((self,)+args))
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\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\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\config.py", line 106, in _compile
src, obj = self._wrap_method(old_config._compile, lang,
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\command\config.py", line 98, in _wrap_method
ret = mth(*((self,)+args))
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 132, in _compile
self.compiler.compile([src], include_dirs=include_dirs)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 401, in compile
self.spawn(args)
File "C:\Users\PolyC\AppData\Local\Temp\pip-build-env-c_fdefig\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 505, in spawn
return super().spawn(cmd, env=env)
File "C:\Users\PolyC\AppData\Local\Temp\pip-install-v9k3zxxp\numpy_3a391657d4094fcebb86331414c9774b\numpy\distutils\ccompiler.py", line 88, 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: Failed building wheel for numpy
Successfully built mlagents-envs
Failed to build numpy
ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
エラーの冒頭でNumPy 1.21.2 may not yet support Python 3.10.
と書かれている通りっぽいですが
ml-agentsのrelease-21はPython 3.10.12以降が要件なのでどうしようもない
解決
githubのissueを検索したところ、developブランチで修正されているという記述が散見されたので、
release-21ではなくdevelopから同じことを行うとうまくいきました。
参考文献
- @moko_programerさんの記事:何もわからなかったので相当助かりました。
終わり
初めての記事なので不備があったら申し訳ないです。