(请先看这篇文章:https://blog.csdn.net/GenuineMonster/article/details/104495419)
如果看完这篇博文,你的问题还是没有解决,那么加我的公众号,后台发消息给我吧!当天回复!
很久很久以前,为了便于管理代码,我将多个大类保存于不同的py文件中,在使用对应类时进行引入、实例和调用。但是总会在导入包时,发现自己写的包下面会有红色波浪线(错误), 并且在使用包里的类及类的方法时,名称都得手敲,没有一点提示。所以,和大家分享一下,如何正常使用自己写的包。
大家都知道,Python编译器在遇到import语句时,会去寻找对应的包文件,一说“找”,就必须知道包的位置,知道位置才能寻找。这已经很接近问题的发生原因了:这条红色波浪线就是Python找不到或者找不准你提到的包文件。以Pycharm为例,每一个项目都有一个项目文件夹,里面有包含虚拟环境的文件夹及创建的py文件,当我们使用import时,默认从根目录,也就是source root处开始寻找我们导入的包文件,如果你的包文件恰好在这一目录下,那么,恭喜你,红色波浪线不会出现。如果,你的包文件不在当前目录下,而是在某个子目录下,所以你就在这看我写的博文了。点赞再看,肯定能看懂!
所以,不用我说,解决红色波浪线的方法就是让Python找到我们使用的包。通过网上学习,我找到了以下两种方法:
1、打开有问题的项目,在Pycharm中,右击你的目录名,点击“Mark Directory As” ---> "Sources Root"。但是要确保你选择后的根目录里确实有你要导入的包,要不然设置根目录干啥。
2、第二种方法类似于相对路径了,在包的面前加一个点,如下图所示:
from .robby import rubbs
加这个点就是为了告诉Python编译器,导入的包文件位于同级目录。
建议:直接在根目录创建py文件就可以了,别创建多个文件,花里胡哨的,最后把自己也搞晕(其实我最初遇到这个问题就是因为自己晕了,把要导入的包文件删掉了)