I have downloaded all of my requirements in AWS Linux + EFS
using
pip3 install -t /mnt/efs/fs1/ml/ -r /mnt/efs/fs1/ml/requirements.txt
They get downloaded without an issue and I’m able to call them too. Now I want to install detectron2 but it has to be done separately as it requires torch
already in the system.
I install it with:
pip3 install -t /mnt/efs/fs1/ml/ 'git+https://github.com/facebookresearch/detectron2.git'
Even if I have installed torch
in above requirements, and able to import it too. I also installed it in the global path too (without -t
) but still I’m getting the error:
pip3 install 'git+https://github.com/facebookresearch/detectron2.git'
Defaulting to user installation because normal site-packages is not writeable
Collecting git+https://github.com/facebookresearch/detectron2.git
Cloning https://github.com/facebookresearch/detectron2.git to /tmp/pip-req-build-bcthhh9q
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-bcthhh9q/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-bcthhh9q/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-nmaxo6d1
cwd: /tmp/pip-req-build-bcthhh9q/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-bcthhh9q/setup.py", line 10, in <module>
import torch
ModuleNotFoundError: No module named 'torch'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
What is the problem here? The below command runs perfectly in my system when I don’t install requirements.txt
with -t
flag.
2
Answers
Found the solution. The
PYTHONPATH
was pointing to default directory so had to tell theenv
about the new location of packages.All you have to do is to run the command in terminal:
And then use the command as usual. It'll work fine
This looks like version issue, version supported for torch and detectron2 should be in sync.You can go through this for details :
https://detectron2.readthedocs.io/en/latest/tutorials/install.html