ImportError:尝试在没有已知父包的情况下进行相对导入:(

新手上路,请多包涵

我正在尝试从我的 Items 文件中导入脚本,但我一直收到错误消息

 from .Items.Quest1_items import *

from .Items.Quest1_items import *
ImportError: attempted relative import with no known parent package

Process finished with exit code 1

这是我的项目树,我正在运行 main.py 文件中的脚本

Quest1/
|
|- main.py
|
|- Items/
| |- __init__.py
| |- Quest1_items.py

原文由 ElLoko 233 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 749
2 个回答

去掉开头的那个点。自动找到关于 main.py 的相对路径。

from Items.Quest1_items import *

原文由 Xorekteer 发布,翻译遵循 CC BY-SA 4.0 许可协议

您只能在您导入的包内执行相对导入(即,以点开头)。例如,想象一下这种情况:

 project/
├ main.py
├ mylib/
├ __init__.py
│ ├ module1.py
│ └ module2.py

in main.py , you would have import mylib or from mylib import * , but inside module1.py , you could have from . import module2 , because这里的 . 代表 mylib (这是一个 python 包,因为你在 main.py 中导入了它)。

所以,解决方案就是简单地删除点,它在你的情况下没有用。

原文由 BlackBeans 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题