执行文件异常报错:ImportError: attempted relative import with no known parent package

这个问题困扰了我很久了,网上的解决方法都很一致,找来找去都是一样的解决方法,在导入包的文件和执行文件加入

1 print('__file__={0:<35} | __name__={1:<20} | __package__={2:<20}'.format(__file__,__name__,str(__package__)))  

这串代码,然后在主目录下新增一个文件main.py,也写入这串代码。

尝试了很多次,这解决方法对我并不起效果。

最后发现,只要导入包的时候不用相对引用,就不会出现这种报错的问题

例子如下:

《执行文件异常报错:ImportError: attempted relative import with no known parent package》

test_data.py

1 count = 5

test_case.py

1 from . import test_data   #相对引用
2 print(test_data.count)

使用这种相对引用的方式,就会报错

《执行文件异常报错:ImportError: attempted relative import with no known parent package》

改成绝对引用的方式导入

1 from test_16 import test_data   #绝对引用
2 print(test_data.count)

完美解决导入报错的问题。

《执行文件异常报错:ImportError: attempted relative import with no known parent package》

万万没想到,只是导入的方式导致的异常问题,答应我,再也不要用相对引用了,必须用绝对引用。绝对引用万岁!!!

点赞