ImportError: attempted relative import with no known parent package 报错的解决!
本人在做调用超级鹰API解决点触验证码时,两次出现本报错。研究后解决,步骤如下:(注意:如果项目目录结构简单且无中文目录,直接使用绝对路径即可解决!!!)
1.项目目录:
2.首先,我想在12306_selenium.py文件中调用chaojiying.py文件下的一个类,出现此报错:
调用方法:(此处使用的相对路径调用!)
既然在调用时出错,也就是说解释器找不到我们想要调用的.py文件,那么我们通过sys.path(sys.path是python的搜索模块的路径集,是一个list),观察一下在路径集中有没有chaojiying.py文件的父级目录即:点触验证码的绝对路径!
结果出人意料,路径集中是有chaojiying.py文件的父级目录的路径的,那么我们改一下调用语句,直接如下即可:
到此,此报错解决!
3.然后,我想在12306_selenium.py文件中调用password中的三个变量CA,CP,SI,出现此报错:
调用方法:(此处使用的相对路径调用!)
思路同上,通过sys.path观察路径集,发现里面没有password.py的父级目录。既然没有,我们就往sys.path里面添加即可:
到此,路径集里有了需要调用的password.py文件的父级目录,那么我们改一下调用语句如下即可: