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

Cannot find module when importing from project in python

我的目录结构如下:

directory_structure

我在util/misc.py中有一些实用功能,我想在compose_dataset.py中导入。但是,我无法使import语句工作。

我正在开发Windows python3.5.4,所以根据我所读的内容,我不再需要__init__.py文件了。项目文件夹是我的PYTHONPATH的一个子文件夹,它只指向e:python。到目前为止,我尝试了:

1
2
3
4
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文件,但是我没有这些经验,只是在每个目录中添加了一个init文件,但是(令人惊讶)也不起作用。

我这里缺什么??


试试这个:

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

您可能还想看看本文:如何从python中的文件文件夹外部访问模块?


将您的PYTHONPATH设置为.,并将__init__.py文件添加到每个目录中,在您的情况下,将它添加到srcdatautil目录中。假设您从项目的根目录(与您的README.md文件所在的目录相同)运行"入口点"脚本来导入,请使用以下代码:

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