尝试从 python 中的子包导入时出现 ModuleNotFoundError

时间:2021-07-20 15:05:07

标签: python-3.x import modulenotfounderror

我有以下布局:

└── folder_1
    └── __init__.py
    └── level_1.py
    └── folder_2
        └── __init__.py
        └── level_2.py
└── test
    └── __init__.py
    └── test_in.py
└── test_out.py
└── setup.py

在我的 setup.py 中,我指定 packages=["folder_1", "test"]

test_out.py 文件中,我可以从 level_1.pylevel_2.py 导入,没有问题,但由于某种原因test_in.py 文件我只能从 level_1.py 导入。如果我尝试从 level_2.py 导入,我会收到错误

ModuleNotFoundError: No module named 'folder_1.folder_2'

如果我尝试在 init.py 中从 folder_1 进行导入,也会出现错误。 我正在 jupyter 实验室上运行它,但找不到使其工作的方法。有没有办法在不使用 PYTHONPATH 或类似的东西的情况下解决这个问题?

编辑:

刚刚发现,如果我将 folder_1.folder_2 添加到 setup.py 中的包内容中,它会起作用,但是我不确定这是否是解决此问题的正确方法?

0 个答案:

没有答案