2013-07-16 94 views
0

我导入的Python类存储在:pylearn2/datasets /当我导入该目录上的其他文件说OK,但是当我尝试导入一个名为make_dataset.py的文件时,我“VE刚刚创建说:Python - 从模块导入相同的目录

无法导入pylearn2.datasets.make_dataset但可以导入 pylearn2.datasets。原始异常:无模块名为make_dataset

这里的目录结构:

pylearn2\ 
     __init__.py 
     datasets\ 
      __init__.py 
      hepatitis.py 
      matlab_dataset.py 
      make_dataset.py 
       ... 

你能解释我为什么我gettig的错误? 我还使用一个.yaml文件:

!obj:pylearn2.train.Train { 
    "dataset": !obj:pylearn2.datasets.make_dataset.Classificator {} 
} 
+0

可否请您出示您的进口报表? – nio

+0

@nio我导入throught .yaml文件。你可以在问题的底部看到它:pylearn2.datasets.make_dataset.Classificator –

+0

'datasets'目录中的'__init __。py'里面有什么? – SethMMorton

回答

0

你可能会丢失__init__.py文件在您pylearn2\目录 There是有关目录结构的一些信息。 There是模块的官方文档。

+0

看看编辑过的问题:) –

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中的子模块。

相关问题