最近在玩python,但是没有系统的学过python的一些相关知识,今天看python的一个第三方包的时候发现包含main函数,尝试运行报错“ValueError: Attempted relative import in non-package”
查询原因如下:包含相对路径import 的python脚本不能直接运行,只能作为module被引用。原因正如手册中描述的,所谓相对路径其实就是相对于当前module的路径,但如果直接执行脚本,这个module的name就是“__main__”, 而不是module原来的name, 这样相对路径也就不是原来的相对路径了,导入就会失败,出现错误“ValueError: Attempted relative import in non-package”