在用这个这个项目的时候https://github.com/KaiyangZhou/deep-person-reid, 出现了问题
原因是执行python scripts/main.py
找不到模块
ModuleNotFoundError: No module named 'torchreid'
原因是根目录在当前目录
C:\\Users\\seama\\Documents\\Workspace\\deep-person-reid\\scripts
而torchreid在父目录deep-person-reid中, 所以应该将父目录加入sys.path中
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # add parent folder in sys.path as root
这样就可以了
因为import torchreid 属于 绝对引用, 绝对引用是从根目录开始找, 而根目录的定义在sys.path中.
如果要相对引用 , 就要相对于__package__来找, 而__main__中__package__为None, 所以在我们例中, 相对引用 会失败