我正在导入一个存储在:pylearn2 / datasets /上的python类当我导入该目录上的其他文件时说好,但是当我尝试导入一个名为make_dataset.py的文件时,我刚创建的文件说:
无法导入pylearn2.datasets.make_dataset但可以导入 pylearn2.datasets。原始异常:没有名为make_dataset的模块
这是目录的结构:
pylearn2\
__init__.py
datasets\
__init__.py
hepatitis.py
matlab_dataset.py
make_dataset.py
...
你能解释一下我为什么会出现这个错误吗? 我也使用.yaml文件:
!obj:pylearn2.train.Train {
"dataset": !obj:pylearn2.datasets.make_dataset.Classificator {}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
在__init__.py
内,您需要导入目录中的模块。否则,您无法以您描述的方式导入子模块。
datasets/__init__.py
:
import hepatitis
import matlab_dataset
import make_dataset
如果您的__init__.py
为空,则可以执行import pylearn2.datasets
,然后访问代码中的子模块(即a = pylearn2.datasets.make_dataset.Classificator()
),但是实际上需要import pylearn2.datasets.make_dataset
导入__init__.py
中的子模块。