0

我正在导入存储在以下位置的 python 类:pylearn2/datasets/ 当我在该目录中导入其他文件时说好的,但是当我尝试导入我刚刚创建的名为 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 {}
 }
4

2 回答 2

0

您的目录 中可能缺少__init__.py文件一些关于目录结构的信息。模块的官方文档。pylearn2\

于 2013-07-16T16:39:07.277 回答
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.

于 2013-07-16T18:44:04.830 回答