ImportError: attempted relative import with no known parent package
时间: 2023-10-13 11:23:42 浏览: 113
pycharm运行出现ImportError:No module named的解决方法
3星 · 编辑精心推荐
这个错误通常是因为你使用了相对导入,但是当前模块没有指定一个明确的包名。你需要确保当前模块所在的文件夹是一个包,并且你使用的相对导入的语法正确。
比如,如果你有一个名为 `mypackage` 的包,里面有两个模块 `a.py` 和 `b.py`,并且你在 `b.py` 中想要导入 `a.py` 中的函数,你需要这样写:
```
from .a import my_function
```
其中,点号表示相对导入。如果你直接运行 `b.py` 文件,Python 会认为当前的模块是一个脚本而不是包,所以会出现上述错误。正确的方式是在包的上级目录下运行 Python 解释器,然后执行 `mypackage.b`:
```
python -m mypackage.b
```
这样,Python 会自动将 `mypackage` 加入到模块搜索路径中,然后就可以正确导入了。
阅读全文