gpt4 book ai didi

python - Django 中导入模块名称冲突

转载 作者:行者123 更新时间:2023-11-30 23:18:29 24 4
gpt4 key购买 nike

我有一个具有以下目录结构的项目:

prj 
|--- app_a
|--- app_b
|---- app_a

在 app_b 中,我有一个tests.py 模块,我在其中定义测试。到目前为止一切顺利,问题是我需要评估 import app_a 并获取 prj.app_a 但我得到的是 prj.app_b.app_a 。我尝试使用相对导入只是为了尝试作为解决方法,我得到:

ValueError: Attempted relative import beyond toplevel package

是否可以在不重命名任何目录的情况下解决此问题?

最佳答案

听起来您使用的是 Python 2;在 Python 3 中,解决了绝对导入和相对导入之间的歧义 - 请参阅 PEP 328了解更多详情。

您可以通过使用 from __future__ importabsolute_import 在 Python 2 中实现相同的效果。完成此操作后,import app_a 将是绝对导入,并将引用顶级包。然后,您可以使用绝对 from app_b import app_a 或相对 from 访问另一个。导入app_a

关于python - Django 中导入模块名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727316/

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