在python中import其他文件时经常出现路径错误,比如ModuleNotFoundError: No module named ‘fastreid’,对于此类问题,解决方法如下:
①首先确认找不到的文件是否为第三方库,如果是,则直接pip install xxx.
②如果不是第三方库而是文件夹或文件的形式,则通过如下代码查看当前import可导入的路径:
import sys
print(sys.path)
③查看打印出的路径中是否有包含确实文件的路径,如果没有,通过os 库进行添加:
import sys
import os
# 获取当前文件的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 获取要导入的文件路径
file_path = os.path.join(current_dir, 'path/to/your/file.py')
# 将文件路径添加到系统路径
sys.path.append(file_path)
注意
在import时经常会出现如下引用格式
from .utils.code import xxx
utils前面有一个点表示从上一级目录开始查找,两个点…utils则表示再往上一级的目录,因此对于这种情况在添加路径时需要考虑sys.path中是否包含他的上一级或上两级甚至更多级 (易踩坑)