​在网上试了很多方法都不行,询问了GPT老师,该问题得以解决

报错信息

(airsim_env) C:\Users\lenovo>pip3 install airsim
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting airsim
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/2f/d7/a692b1a82263b6d510bb04b5278154d096e4e4b43fb68cd2482f33ee9a2a/airsim-1.8.1.tar.gz (20 kB)
Installing build dependencies … done
Getting requirements to build wheel … error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
Traceback (most recent call last):
File “D:\anaconda3\envs\airsim_env\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py”, line 389, in
main()
File “D:\anaconda3\envs\airsim_env\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py”, line 373, in main
json_out[“return_val”] = hook(**hook_input[“kwargs”])
File “D:\anaconda3\envs\airsim_env\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py”, line 143, in get_requires_for_build_wheel
return hook(config_settings)
File “C:\Users\lenovo\AppData\Local\Temp\pip-build-env-ofm6znxz\overlay\Lib\site-packages\setuptools\build_meta.py”, line 333, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
File “C:\Users\lenovo\AppData\Local\Temp\pip-build-env-ofm6znxz\overlay\Lib\site-packages\setuptools\build_meta.py”, line 301, in get_build_requires
self.run_setup()
File “C:\Users\lenovo\AppData\Local\Temp\pip-build-env-ofm6znxz\overlay\Lib\site-packages\setuptools\build_meta.py”, line 520, in run_setup
super().run_setup(setup_script=setup_script)
File “C:\Users\lenovo\AppData\Local\Temp\pip-build-env-ofm6znxz\overlay\Lib\site-packages\setuptools\build_meta.py”, line 317, in run_setup
exec(code, locals())
File “”, line 2, in
File "C:\Users\lenovo\AppData\Local\Temp\pip-install-qbn2zrpq\airsim_2fcada84e1ef4869973ced99161ea6b1\airsim_init
.py", line 1, in
from .client import *
File “C:\Users\lenovo\AppData\Local\Temp\pip-install-qbn2zrpq\airsim_2fcada84e1ef4869973ced99161ea6b1\airsim\client.py”, line 3, in
from .utils import *
File “C:\Users\lenovo\AppData\Local\Temp\pip-install-qbn2zrpq\airsim_2fcada84e1ef4869973ced99161ea6b1\airsim\utils.py”, line 1, in
import numpy as np #pip install numpy
ModuleNotFoundError: No module named ‘numpy’
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build ‘airsim’ when getting requirements to build wheel

一、现代pip的默认行为

当存在pyproject.toml时:

pip → 创建临时隔离环境 → 安装 build-system.requires → 执行构建

但是这个临时环境不会集成当前环境的numpy

二、AirSim的问题

AirSimsetup.py中:

import numpy as np

但是:

  • 他没有在pyproject.tomlbuild-system.requires中声明numpy
  • numpy只在install_requires

install_requires是运行时依赖,而build-system.requires是构建时依赖

因此在构建airsim的时候,会识别不到numpy

这里猜测是AirSim的版本较旧,文件中根本没有pyproject.toml
在这里插入图片描述

三、修改方法

采用--no-build-isolation

不在构建临时环境,而是直接在当前的环境构建,而当前环境已经有numpy,所以成功

pip install airsim --no-build-isolation

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐