Python导入不使用目录

Python导入不使用目录,python,python-3.x,python-import,Python,Python 3.x,Python Import,我无法将python模块导入到与我使用的文件夹不同的文件夹中。我知道在StackOverflow上有很多关于这个的帖子,但是我在导入方面仍然遇到一些问题。以下是我的一般文件结构: Folder __init__.py A.py folder __init__.py B.py tests __init__.py C.ipynb 我试图从C中导入B,但这样做会导致许多错误。如果我写 from folder import B

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

Folder
   __init__.py
   A.py
   folder
      __init__.py
      B.py
   tests
      __init__.py
      C.ipynb
我试图从C中导入B,但这样做会导致许多错误。如果我写

from folder import B
from . import B
from . import B
我明白了

如果我写

from folder import B
from . import B
from . import B
我明白了

如果我写

from folder import B
from . import B
from . import B

我明白了

此外,如果我尝试从A导入B,也会出现错误。运行

import folder.B
或 从文件夹导入B 给予

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


谢谢,如果这个问题已经得到回答,我很抱歉

您已经发现了python相对导入带来的痛苦。在我看来,最好的办法就是修改sys.path。@supersormer不,别管
sys.path
。相反,不要尝试在软件包中运行笔记本。您可以尝试从
文件夹导入,例如从文件夹导入
。文件夹导入B
您是否尝试将
C.ipynb
作为笔记本运行?不要在包装内这样做。运行笔记本时,请将其移出软件包。谢谢!是的,我可能会移动C。唯一的问题是,我正在尝试制作一个包,将测试保存在上面的测试文件夹中似乎是标准的?