1.问题描述
项目整理构成如下图所示
1.1 根目录下py文件引用
在项目的根目录比如 aaaa.py文件中引用自定义模块,如下图所示,可以成功。
1.2项目的子文件夹下py文件引用
如下图所示,在项目的子文件夹models下,有yolo.py文件。在其中引用。
如下引用,同文件夹中的 experimental 模块/包
出现报错
2.解决方案
2.1原理
1、因为默认的路径不在根目录了,而以当前运行的程序文件夹为根目录
2、如果在当前文件目录底下可以找到导入的包,那么可以直接使用from … import …
3、如果在当前文件目录底下找不到导入的包,则需要向sys.path添加包的所在的绝对位置。
2.2 解决
在py文件的开头加入如下代码。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# __file__获取执行文件相对路径,整行为取上一级的上一级目录
sys.path.append(BASE_DIR)
加入后为
再次运行即可成功,问题完美解决。
感到对你有帮助就点个赞吧!