【发布时间】:2021-02-20 12:25:09
【问题描述】:
我和Import from sibling directory 有同样的问题,但是拥有__init__ 文件的想法并没有解决它。
到目前为止,我有以下结构:
main/
│ └── __init__.py
├── DirA/
│ ├── __init__.py
│ ├── func_A.py
├── DirB/
│ ├── __init__.py
│ ├── func_B.py
(所有__init__都是空的)
我只想在func_B 中使用func_A - 请参阅下文,了解在func_B 中写入行时的不同错误:
from ..DirA import func_A #ImportError: attempted relative import with no known parent package
from main.DirA import func_A #ModuleNotFoundError: No module named 'main'
from .DirA import func_A #ImportError: attempted relative import with no known parent package
from DirA import func_A #ModuleNotFoundError: No module named 'func_A'
我尝试在dirB 和main 中运行func_B,但它不起作用。
【问题讨论】:
-
您必须将主目录的父目录添加到您的 PYTHONPATH(或编写 setup.py 并安装您的包)。
-
不需要将其添加到 PYTHONPATH IMO
-
不是,你可以写一个setup.py文件,安装你的包。
标签: python python-import