以我代码为例,想在Training_test包下的advCNN_training.py模块里 导入Model包下面的advDA_net.py、CNN_model.py模块,
1. 使用 from 自定义包XX . 模块名XX import XX
from Model.CNN_model import CNN
from Model.advDA_net import DomainClassifier
出现报错:
ModuleNotFoundError: No module named 'Model'
解决方案1: 第一步:检查包是否设置“根 源”文件(未设置“源 根”的文件,会带有一个小孔)
若未设置,右击Model,选择“将目标标记为”设置为“源 根”;若已设置,忽略不计,直接下一步:
第二步: 将Model复制到Training_test里,将其变为同级目录,简单粗暴,一步到位,代码不报错,成功解决!
解决方案2:不改变Mode位置,在Model下新建一个空的 __init__.py文件,同时,右击Model,选择“将目标标记为“”源 根”,在代码中删去包Model.改为:
from CNN_model import CNN
from advDA_net import DomainClassifier
此时,代码不提示错误,问题就解决了。
注意:无论方法一还是方法二,一定要记得将要导入的包,设置为“源 根”文件,通过图标是否带圈,可作为一个简单的判定,不确定的右击查看一下即可~