本人近期开始学习pyhton,前面的安装什么的都一帆风顺,直到在互相导入包时老是报这个错误,明明路径都对,vscode也提示出来,但是一运行就是报错,网上找个无数解决方法,只能说dddd,最终经过大量努力之后,我确实解决了自己的问题,方法如下:
在你某个XXX.py文件中要引用别的自定义包时,请在你的XXX.py文件开头加上
import sys
sys.path.append('./')
然后,下面的内容则是我从头创建一个文件夹,然后一步一步的演示解决方案(这里默认你已经在vscode中配置好了python环境)
首先,随便建个文件夹用来做演示
然后我在里面新建两个文件夹,分别为Demo1和Demo2
接下来,我分别在Demo1文件夹和Demo2文件夹下新建两个.py文件
我在Banana.py文件中新建一个类Bana
(红色标注的文件夹不必在意,这个文件夹会在你调用Bana类后自动生成,这里因为一开始def Out()我忘记加入self了,所以是运行后重新补的一张图)
然后我试着在Apple.py中引入Bana类,看是否成功
(这里out忘了())
很神奇的会报错,即便上面的代码中vscode不会有任何错误提示,但在运行时还是会报错
在该from import上面加入开头的
import sys
sys.path.append('./')
运行成功
接下来我在Demo2文件夹下新建一个Demo3文件夹,其中有一个Orange.py文件,类名为Oran
在Apple.py继续进行导入并调用
到此,文件之间的相互导入应该是没有问题了
至于这一大串彩蛋为啥会输出出来我自己也有点摸不着头脑,有点莫名其妙的,如果有了解的大佬还请在下面评论解答