运行src文件夹下的文件时,一直报错No module named ‘src’,我就好奇src作为一个文件夹为什么就找不到,经过网上冲浪三十分钟,各种方法都试了一遍包括但不限于以下代码:
cur_path=os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, cur_path+"/..")
然而没有用。
一怒之下上网冲浪,在国外某论坛里发现了猫腻,仔细看了一遍才搞明白原理。不多哔哔直接说原理
因为代码中写的是
from src.letters.letter_train import CNN
from src.utils.visualize import *
所以其查找股则是先去找src目录,但是由于你目前所在的根目录就是src,所以自然是查找不到的。就相当于是在找src下的src目录。如果你的根目录是src那找不到就是正常的。
解决:用pycharm打开的时候不要将src目录作为项目根目录打开
在其上级目录右键然后用pycharm作为项目打开,这样你的根目录就是src的父级目录了,也就能找到src了。
或者直接把前面的src.删掉也可以
from letters.letter_train import CNN
from utils.visualize import *
变成这样
但是问题就是项目中设计很多以src.为路径的搜索,而且不在同一个文件里,所以会比较麻烦,还得调试。