我试图在 ubuntu 上安装 detectorron2 并面临一个奇怪的 python 依赖问题。简而言之 - pytorch 已安装(使用 pip),torchvision 已安装(使用 pip),但是当我运行时
pip install 'git+https://github.com/facebookresearch/detectron2.git'
我收到错误 ModuleNotFoundError:没有名为“torch”的模块
至于依赖关系
(detectron2_test) ubuntu@LAPTOP:~$ pip install torchvision
Requirement already satisfied: torchvision in ./detectron2_test/lib/python3.12/site-packages (0.19.1+cu118)
Requirement already satisfied: numpy in ./detectron2_test/lib/python3.12/site-packages (from torchvision) (1.26.3)
Requirement already satisfied: torch==2.4.1 in ./detectron2_test/lib/python3.12/site-packages (from torchvision) (2.4.1+cu118)
(...)
(detectron2_test) ubuntu@LAPTOP:~$ which pip
/home/ubuntu/detectron2_test/bin/pip
(detectron2_test) ubuntu@LAPTOP:~$ which python
/home/ubuntu/detectron2_test/bin/python
(detectron2_test) ubuntu@LAPTOP:~$ which python3
/home/ubuntu/detectron2_test/bin/python3
如有任何建议,我们将不胜感激!
这可能是由于pip构建的隔离机制造成的。基本上,安装需要安装
torch
才能工作,但最新版本的 pip
使用了一些隔离,不允许构建过程访问已安装的软件包。
您可以通过调用此来禁用它
$ pip install --no-build-isolation 'git+https://github.com/facebookresearch/detectron2.git'