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
