Young87

当前位置:首页 >个人收藏

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文件的父级目录,那么我们改一下调用语句如下即可:
在这里插入图片描述

注意:sys.path.append()添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 爬虫进阶之路---处理点触验证码(使用超级鹰API接口处理;以解决12306的图片验证码为例;)

下一篇: 目前用下来最溜的MacOS微信多开工具!

精华推荐