2013-07-16 93 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中的子模塊。

相關問題