本文主要是介绍将父目录设置为根目录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在用这个这个项目的时候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, 所以在我们例中, 相对引用 会失败
这篇关于将父目录设置为根目录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!