gpt4 book ai didi

python - 项目内的相对导入导致 "SystemError: Parent module ' '未加载,无法执行相对导入”

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:25 24 4
gpt4 key购买 nike

我正在从事一个具有以下结构的项目:

project
├── config.py
└── modules
└── a.py

根据 PEP 328相对进口是可能的。但是,当我在与 a.py 相同的目录中启动 Python(在 shell 中)并执行以下命令时:

从 ..config 导入 *

从...项目导入*

我收到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
SystemError: Parent module '' not loaded, cannot perform relative import

据我了解,不推荐使用 import *,它仅用于测试(尝试导入配置)。

最佳答案

相对导入只能在模块本身导入的地方工作。在交互式 session 中运行该命令没有父模块。此外,当前目录是隐式搜索(因此被视为一个包),因此从该目录中的交互式解释器 import a 将没有父模块。

因此,为了测试,将 PYTHONPATH 设置为项目的根目录(作为临时措施),然后从另一个目录(例如您的主目录)执行 from modules import aa 模块然后可以执行 from ..config import *,并且只有在那时。

关于python - 项目内的相对导入导致 "SystemError: Parent module ' '未加载,无法执行相对导入”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38398319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com