完美解决ModuleNotFoundError: No module named ‘src’
运行src文件夹下的文件时,一直报错No module named ‘src’,我想的是src是一个文件夹,又不是一个模块,肯定是哪里有问题,经过网上冲浪三十分钟,各种方法都试了一遍。
首先在运行代码中加入下列代码:

cur_path=os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, cur_path+"/..")

由于我是在云端服务器上使用的,所以上述方法不奏效,他可能是在自己电脑上跑的才有效。这是我的目录:
根目录
这是我的代码导入:
我的目录
然后经过师姐指导,resnet.py,model.py,等是同一目录,是平级的,然后删掉了src.models保留了后面的 .resnet等。接着就出现了新错误:
ImportError: attempted relative import with no known parent package

这位更是重量级,然后我就改回去了,最后我终于找到了解决办法:
在module.py中引用resnet,context_modules等文件,他会先查找src,接着查找models,最后才能查到resnet,context_modules等文件,如果只删掉src,依然会报错ModuleNotFoundError: No module named ‘models’

所以对于平级文件,直接从文件导入,不需要指定前面的路径,因为他们已经在同一目录下了。如下所示:
在这里插入图片描述
最终完美运行:

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐