gpt4 book ai didi

python - 在 Python 中导入本地模块 - ImportError : Not module named *

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

我已经阅读了变通方法(adding to sys.pathmore robust solutions),但其他库不使用此类变通方法(例如,tf 中的 this file)。我不希望我真的必须这样做,我希望能够在一行中导入并运行 - 我一定是遗漏了什么!


具体来说,我有类似以下目录的内容:

project/
foo/
src/
__init__.py
bar.py
foo/
__init__.py
boo.py

我希望在 bar.py 中我可以简单地编写类似 from foo import boo 的内容,但是我的 IDE PyCharm 将此视为错误。

因此,相信我的 IDE,我尝试 from src.foo import boo 但这会导致 ImportError,经测试:

Traceback (most recent call last):
File "bar.py", line 1, in <module>
from src.foo import boo
ImportError: No module named 'src'

我确认 src 文件夹位于 sys.path[0],但是向其中插入 __file__ 似乎确实解决了问题 - 我仍然不想使用此解决方法,但会不得已。

我已经尝试了一百万种其他技巧来使它起作用但没有成功。

如何在不使用其中一种解决方法的情况下从本地模块导入?

最佳答案

此问题是由 PyCharm 中的错误引起的。使用 from foo import bar 的最初本能是正确的,尽管 PyCharm 存在假定的错误,但仍会按预期工作。它声称 src 是一个模块这一事实应该在我脑海中引起警觉。

可以安全地忽略 PyCharm 警告并可以运行代码。

为了阻止 PyCharm 将来误导我们,我们将不得不禁用“ Unresolved 引用”检查。这可以通过在设置中搜索“未解析的引用”并禁用 Python 检查来完成。

enter image description here

关于python - 在 Python 中导入本地模块 - ImportError : Not module named *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47302648/

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