python导入本地模块报错:ModuleNotFoundError: No module named '***'
前言
将本地项目文件设置为sources root,导入模块仍报错
ModuleNotFoundError: No module named 'yaoyao'
一、问题描述
导入模块时,将yaoyao文件夹设置为sources root,douban.py文件导入items中的类。from导入时提示yaoyao下items文件,没有标红,但运行出现报错,如下图所示:
二、尝试解决
1.手动添加路径
在douban.py文件开头手动添加路径,代码如下:
import sys
sys.path.append("../")
2.将上下级文件夹都sources root
如图所示:
3.其他解决办法
关于PyCharm导入自己写的module时报错:No Module Named XXX的解决方案
不一一列举
4.上述方法可能适用其他大部分情况,但没有解决当前问题。
三、解决办法
1.二级目录sources
无意之举,尝试将二级目录设为sources root,直接导入items,顺利运行
2.一级目录sources
又尝试单独将一级目录设为sources root,然后导入items,报红线,但仍可以运行
3.同时sources
同时将一级、二级目录设为sources root也可以运行,且没有红线提示
问题解决!!!
总结
-
解决办法操作:导入模块时不要加文件夹(模块)名称,直接导入py模块
-
后记:
- 在学习视频中,只sources root一级目录就可以顺利运行,所以遇到的问题仍旧不明所以,可能某些没有搞清楚的运行环境所致。
- 问题目前得到解决,后续发现真正原因再来补充。