如何解决 ModuleNotFoundError?
How to resolve ModuleNotFoundError?
我想在 main.py 和 [=42= 中导入 abc.py ] 本身导入 xyz.py 和 pqr.py。
以下是我的项目结构:
main_folder
|
+--main.py
|
+--inside_folder
|
+--sub_folder
|
+--abc.py
|
+--xyz.py
|
+--subsub_folder
|
+--pqr.py
为此:
我在 main.py 中写了以下几行:
from inside_folder.sub_folder import abc
并且 abc.py 包含
from inside_folder.sub_folder.subsub_folder import pqr
from inside_folder.sub_Folder import xyz
我也尝试从 abc.py 文件中导入不带 inside_folder.sub_folder 部分的内容,但是这样做会报告 ModuleNotFoundError
。
请帮我解决这个问题。
注意:
我已将 init.py 添加到所有文件夹。仍然无法解决错误。
- 你的包(作为单个 python 命名空间的文件夹)可能应该有一个
__init__.py
文件来将它们声明为包,尽管 IIRC it's not quite necessary anymore in some cases 这样做更容易
from inside_folder.sub_folder import abc
是完全错误的,按照 PEP 328 这告诉 Python 寻找顶级 inside_folder
。你需要在这里使用 relative import 所以 Python 寻找一个 sibling 导入文件又名 from .inside_folder.sub_folder
- 尽管假设您完全在向我们展示的树之外并正在做
from main_folder import main.py
或 运行 python -mmain_package.main
,但 PYTHONPATH
的设置将有所不同否则
- 您显示的结构与您的导入不匹配,
abc.py
在 sub_folder
旁边,而不在 里面
如果你正在使用 python2 如果每个文件夹都有 __init__.py
文件和下面的代码,你不会发现上面的文件夹结构有任何问题
main.py
from inside_folder.sub_folder import abc
abc.py
from subsub_folder import pqr
import xyz
但如果您使用的是 python 3,则需要将 abc.py
更改为
from .subsub_folder import pqr
from . import xyz
我想在 main.py 和 [=42= 中导入 abc.py ] 本身导入 xyz.py 和 pqr.py。 以下是我的项目结构:
main_folder
|
+--main.py
|
+--inside_folder
|
+--sub_folder
|
+--abc.py
|
+--xyz.py
|
+--subsub_folder
|
+--pqr.py
为此:
我在 main.py 中写了以下几行:
from inside_folder.sub_folder import abc
并且 abc.py 包含
from inside_folder.sub_folder.subsub_folder import pqr
from inside_folder.sub_Folder import xyz
我也尝试从 abc.py 文件中导入不带 inside_folder.sub_folder 部分的内容,但是这样做会报告 ModuleNotFoundError
。
请帮我解决这个问题。
注意: 我已将 init.py 添加到所有文件夹。仍然无法解决错误。
- 你的包(作为单个 python 命名空间的文件夹)可能应该有一个
__init__.py
文件来将它们声明为包,尽管 IIRC it's not quite necessary anymore in some cases 这样做更容易 from inside_folder.sub_folder import abc
是完全错误的,按照 PEP 328 这告诉 Python 寻找顶级inside_folder
。你需要在这里使用 relative import 所以 Python 寻找一个 sibling 导入文件又名from .inside_folder.sub_folder
- 尽管假设您完全在向我们展示的树之外并正在做
from main_folder import main.py
或 运行python -mmain_package.main
,但PYTHONPATH
的设置将有所不同否则 - 您显示的结构与您的导入不匹配,
abc.py
在sub_folder
旁边,而不在 里面
如果你正在使用 python2 如果每个文件夹都有 __init__.py
文件和下面的代码,你不会发现上面的文件夹结构有任何问题
main.py
from inside_folder.sub_folder import abc
abc.py
from subsub_folder import pqr
import xyz
但如果您使用的是 python 3,则需要将 abc.py
更改为
from .subsub_folder import pqr
from . import xyz