ImportError: No module named 'helper'

ImportError: No module named 'helper'

我的文件布局是

C:\Fourier-Recovery
C:\Fourier-Recovery\cascadenet\
C:\Fourier-Recovery\main_2d.py
C:\Fourier-Recovery\cascadenet\network\
C:\Fourier-Recovery\cascadenet\network\layers\
C:\Fourier-Recovery\cascadenet\network\model.py
C:\Fourier-Recovery\cascadenet\network\layers\helper.py

下面的图片也描述了这种布局。

当我在第 19 行执行以下脚本时,main_2d.py,我 运行 一个错误 ipdb> ImportError: No module named 'helper'

这是我的文件布局: 根是 Fourier-Recovery,其中 main_2d.py 所在:

cascadenet 里面,我有 networkutil

里面network我有layers

里面 layers 我有如下所有文件:

这里是__init__.py中的代码Fourier-Recovery\cascadenet\network\layers

所以我转到发生错误的代码行,进入 Fourier-Recovery\cascadenet\network\models.py,我看到以下导入代码:

所以如果我注释掉:

import cascadenet.network.layers as l

错误将消失。因此,由于 layers 文件夹中有一个 helper.py,我不确定为什么会发生错误,因为它似乎具有所有需要的依赖项。我在 Windows 10 上使用 Python 3.5。请提供一些提示。我现在很困惑。

我不确定我是否为你们提供了足够的信息,但是如果你们需要什么但我不知道,请告诉我。

simple.py中引用了helper.py,原来是这样的:

import theano.tensor as T
import lasagne
from lasagne.layers import Layer
from helper import ensure_set_name

所以我在 helper 前面添加了一个前导点,如下所示:

import theano.tensor as T
import lasagne
from lasagne.layers import Layer
from .helper import ensure_set_name

,抱怨消失了。