首页 > 解决方案 > Python 导入不使用目录

问题描述

我无法在与我正在使用的文件夹不同的文件夹中导入 python 模块。我知道 StackOverflow 上有很多关于此的帖子,但我仍然遇到一些导入问题。这是我的一般文件结构:

Folder
   __init__.py
   A.py
   folder
      __init__.py
      B.py
   tests
      __init__.py
      C.ipynb

我正在尝试从 C 导入 B,但这样做会给我带来许多错误。如果我写

from folder import B

我明白了

ModuleNotFoundError: No module named 'folder'.

如果我写

from . import B

我明白了

ImportError: attempted relative import with no known parent package.

如果我写

from . import B

或者

from .. import B

我明白了

ImportError: attempted relative import with no known parent package.

此外,如果我尝试从 A 导入 B,我也会收到错误消息。跑步

import folder.B

或从文件夹导入 B 给出

ModuleNotFoundError: No module named 'folder'.

有人可以帮我正确导入这些文件吗?我知道修改 sys.path 是一种选择(虽然我不完全确定如何实现),但我觉得必须有一种方法可以在不修改 sys.path 的情况下做到这一点。

谢谢,如果已经回答了,我深表歉意!

标签: pythonpython-3.xpython-import

解决方案


推荐阅读