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('"'"'\r\n'"'"', '"'"'\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.
CodePudding user response:
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
CodePudding user response:
Found the solution. The PYTHONPATH
was pointing to default directory so had to tell the env
about the new location of packages.
All you have to do is to run the command in terminal:
export PYTHONPATH="${PYTHONPATH}:/mnt/efs/fs1/ml"
And then use the command as usual. It'll work fine