🚀 作者 :“码上有前”
🚀 文章简介 :Python
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
出现这个错误:
出现了ModuleNotFoundError: No module named 'models’的问题。
文件在Models下,并且路径没有问题,需要告诉解释器路径
Traceback (most recent call last):
File"d:\VScode\BERT\xxx\web\train.py", line 7, in from
models.bertConfig import Model ModuleNotFoundError: No module named
‘models’
解决
# 在模块引入前,
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from models.bertConfig import Model
逐行解释
这段代码是Python中用于导入模块和设置模块搜索路径的代码。
首先,通过import
语句导入了sys
模块。sys
模块提供了访问与Python解释器和运行时环境相关的功能。
接下来,sys.path.append(...)
这行代码将一个路径添加到sys.path
列表中。sys.path
是一个包含模块搜索路径的列表,Python解释器使用它来查找导入的模块。这里使用os.path.abspath()
和os.path.join()
函数来构建一个相对路径,并将其添加到sys.path
中。
具体来说,os.path.dirname(__file__)
返回当前脚本文件的目录路径,os.path.join()
将该目录路径与..
(表示上一级目录)进行连接,然后os.path.abspath()
将连接后的路径转换为绝对路径。最后,使用sys.path.append()
将该绝对路径添加到sys.path
中。
最后一行代码from models.bertConfig import Model
是从models.bertConfig
模块中导入Model
类。这样,您就可以在当前脚本中使用Model
类进行进一步的操作。
通过这段代码,您可以设置模块搜索路径,以确保Python解释器能够找到所需的模块,并导入指定的Model
类供后续使用。
请注意,这段代码假设当前文件所在的目录结构中存在models
文件夹,并且该文件夹中包含一个名为bertConfig.py
的模块文件。如果实际情况与此不符,可能需要根据实际情况进行相应的调整。
有用的话,点个赞吧!