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文件
绝对不应该放在导入路径上。您不希望产生重复模块的混乱局面。