Traceback (most recent call last): File "<input>", line 1, in <module> File "E:\PyCharm 2020.2.4\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_vars, local_vars) # execute the script File "E:\PyCharm 2020.2.4\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "D:/PycharmProjects/pythonProject5/game/test_demo.py", line 4, in <module> from .demo01 import Add File "E:\PyCharm 2020.2.4\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) ImportError: attempted relative import with no known parent package
时间: 2023-09-01 11:11:44 浏览: 200
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误是由于相对导入时没有找到父包的原因导致的。在Python中,相对导入需要明确指定父包,如果没有明确指定,Python会认为当前模块是顶级模块,因此会报错。
要解决这个问题,你可以尝试以下几种方法:
1. 使用绝对导入:将相对导入改为绝对导入,即使用完整的包路径来导入模块。例如,如果你想导入的模块位于兄弟包中,可以使用`from package_name.module_name import function_name`来导入。
2. 添加包路径:在代码中添加父包的路径,以确保Python可以找到父包。你可以使用sys.path.append()或者设置PYTHONPATH环境变量来添加包路径。
3. 修改项目结构:如果你的项目结构不合理,可以考虑重新组织代码结构,使得相对导入可以正常工作。
希望这些解决方法能帮到你!如果有任何疑问,请随时提问。
阅读全文