今天复现代码的时候遇到了包导入报错的问题,记录一下

项目结构如下,我是把用来做对比实验的代码放一块了...有点乱,不建议这样做

-Code
--Code1
----models
----cc
------test.py
------main.py
--models
--test.py

当我在Code/Code1/cc/main.py中导入

from models import Model
from test import test

会报错,显示没有我所需要的函数,检查了相应的文件,这个函数确实是存在的,并且函数名没有错误,所以又仔细看了一下自己的项目

发现在其他位置也有同名的文件夹和文件名!!!

Python 会按照 sys.path 的顺序搜索模块,很可能它先找到了另一个不需要的 models 文件夹,从而导致 Model 没有被找到。

所以把导入语句改成以下方式即可

from ..models import Model
from .test import test


# ..表示导入当前文件的父目录下的指定文件
# .表示导入当前文件所在位置下的指定文件

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐