Python 导入错误:没有名为的模块

Python 导入错误:没有名为的模块,python,python-3.x,Python,Python 3.x,我正在尝试运行一个程序,其文件组织如下:tensorflow_fcn和architecture.py的子文件夹共享同一父目录。在architecture.py中,有一行代码来自tensorflow\u fcn import fcn8\u vgg tensorflow\u fcn文件夹中已包含\u init\uuuupy 但是,运行该程序会得到如下错误消息 File "FCN/KittiSeg_pretrained/model_files/architecture.py", line 5, i

我正在尝试运行一个程序,其文件组织如下:
tensorflow_fcn
architecture.py
的子文件夹共享同一父目录。在
architecture.py
中,有一行代码
来自tensorflow\u fcn import fcn8\u vgg

tensorflow\u fcn
文件夹中已包含
\u init\uuuupy

但是,运行该程序会得到如下错误消息

File "FCN/KittiSeg_pretrained/model_files/architecture.py", line 5, in <module>
    from tensorflow_fcn import fcn8_vgg
ImportError: No module named 'tensorflow_fcn'
文件“FCN/KittiSeg_pretrained/model_files/architecture.py”,第5行,在
从tensorflow\u fcn导入fcn8\u vgg
导入错误:没有名为“tensorflow\u fcn”的模块

我不明白为什么
架构没有识别
tensorflow\u fcn
。在Python 3中,您可以使用相对导入来实现以下目的:

from .tensorflow_fcn import fcn8_vgg
请注意


这也可以在2.7中使用,不过如果您仍然使用2.7,则一定要升级。

这可能与文件和模块的相对路径有关。 在我的工作中,有一个子文件夹“submodules”与文件处于同一级别,而子文件夹“tensorflow_fcn”位于“submodules”下。所以我用这个表格:
from submodules.tensorflow\u fcn import fcn8\u vgg

这一页可能会解答你的难题

如何运行
architecture.py
?来自同一个文件夹?Python 2还是Python 3?Hi tamasgal,architecture.py是从python调用的其他程序调用的。我刚刚尝试直接运行python architecture.py,它可以工作。为什么会有这两种不同的情况?如果相对导入有效,
model\u文件
绝对不应该放在导入路径上。您不希望产生重复模块的混乱局面。