执行文件异常报错:ImportError: attempted relative import with no known parent package
程序员文章站
2022-07-01 15:58:03
这个问题困扰了我很久了,网上的解决方法都很一致,找来找去都是一样的解决方法,在导入包的文件和执行文件加入 1 print('__file__={0:<35} | __name__={1:<20} | __package__={2:<20}'.format(__file__,__name__,str( ......
这个问题困扰了我很久了,网上的解决方法都很一致,找来找去都是一样的解决方法,在导入包的文件和执行文件加入
1 print('__file__={0:<35} | __name__={1:<20} | __package__={2:<20}'.format(__file__,__name__,str(__package__)))
这串代码,然后在主目录下新增一个文件main.py,也写入这串代码。
尝试了很多次,这解决方法对我并不起效果。
最后发现,只要导入包的时候不用相对引用,就不会出现这种报错的问题
例子如下:
test_data.py
1 count = 5
test_case.py
1 from . import test_data #相对引用 2 print(test_data.count)
使用这种相对引用的方式,就会报错
改成绝对引用的方式导入
1 from test_16 import test_data #绝对引用 2 print(test_data.count)
完美解决导入报错的问题。
万万没想到,只是导入的方式导致的异常问题,答应我,再也不要用相对引用了,必须用绝对引用。绝对引用万岁!!!