从 python 中的项目导入时找不到模块

Cannot find module when importing from project in python

我的目录结构如下所示:

我想在 compose_dataset.py 中导入 util/misc.py 中的一些实用函数。但是,我无法使导入语句起作用。

我正在研究 Windows Python3.5.4,因此根据我的阅读,我不再需要 __init__.py 文件。项目文件夹是我的 PYTHONPATH 的子文件夹,它仅指向 E:\Python。到目前为止,我尝试过:

from misc import *
from util import *
from util.misc import *
from ..util.misc import *

并收到 ImportError: No module named 'xyz'ImportError: attempted relative import with no known parent package。我也尝试添加 init-files 但我没有使用这些的经验,只是向每个目录添加一个,但(令人惊讶的是)这也没有用。

我在这里错过了什么?

试试这个:

import sys
sys.path.insert(0, '../')
from util.misc import *

您可能还想看看这个 post:How to access a module from outside your file folder in Python?

将您的 PYTHONPATH 设置为 .,然后将 __init__.py 文件添加到您要从中导入的每个目录中,在您的情况下将其添加到 srcdatautil 个目录。假设您 运行 您的 "entry point" 脚本来自项目的根目录(与您的 README.md 文件所在的位置相同),要导入使用此代码:

# compose_dataset.py file
from src.util.misc import function_name