我正在编写一个序列到序列模型,我有以下目录结构
MyProject/
models/
- __init__.py
- Encoder.py
train/
- __init__.py
- Train.py
在Train.py中,我无法从Encoder.py导入类BiDirectionalEncoder,尽管我尝试使用以下语法
from models.Encoder import BiDirectionalEncoder
对于上面的行,我得到了错误“ ModuleNotFoundError:没有名为“models”的模块
from ..models.Encoder import BiDirectionalEncoder
最后一行出现错误“ImportError:尝试在没有已知父包的情况下进行相对导入”
有什么好办法解决这个问题吗?我不想使用任何sys.path.append()来强制添加路径 我正在Spyder 4.0.1中使用Python 3.7.6 谢谢
在同一个包中,您可以进行相对导入,但由于您要退出当前包,因此需要进行绝对导入
如果您使用的是任何IDE(如pycharm),则需要将(我的项目)设置为源引导目录 否则,您需要在settings.py中检查基本目录
然后就可以导入模型了
从models.Encoder导入双向编码器
如果您想从其他环境访问模块,请点击下面的链接 用于访问和共享模块的方式
python module:- importing(accessing) creating and sharing
希望这能解决你的问题
相关问题 更多 >
编程相关推荐