首页 > 解决方案 > 来自同一目录的未解析引用 - Python

问题描述

请原谅我在 Python 方面的相对缺乏经验,我正在尝试运行此代码(取自 GitHub),但解释器无法解析和的引用ini_file_iomodel我看过类似的帖子,但我在 PyCharm 和 MS Visual 上都看到了同样的问题工作室代码)。目录结构如下:

目录结构

这是main.py:(两者ini_file_io.pymodel.py可以在同一目录中使用)

import os
import tensorflow as tf


from ini_file_io import load_train_ini       #Unresolved Reference
from model import cgan_unet_xy               #Unresolved Reference


def main(_):

    # load training parameter #
    ini_file = '../outcome/model/ini/tr_param.ini'
    param_sets = load_train_ini(ini_file)
    param_set = param_sets[0]

    print('====== Phase >>> %s <<< ======' % param_set['phase'])

    if not os.path.exists(param_set['chkpoint_dir']):
        os.makedirs(param_set['chkpoint_dir'])
    if not os.path.exists(param_set['labeling_dir']):
        os.makedirs(param_set['labeling_dir'])

    with tf.Session() as sess:
        model = cgan_unet_xy(sess, param_set)

        if param_set['phase'] == 'train':
            model.train()
        elif param_set['phase'] == 'test':
            model.test()
        elif param_set['phase'] == 'crsv':
            model.test4crsv()

if __name__ == '__main__':
    tf.app.run()

任何帮助将不胜感激。

标签: python

解决方案


  1. 尝试添加一个名为__init__.py的空文件,该文件与以下 3 个文件处于同一目录级别:main、ini.. 和 model

    Python 使用这些文件作为目录级导入的标记


  1. 请注意,对于相同的目录级别文件,这不应该是一个问题。我相信您可能从错误的地方运行代码。尝试cd进入这些文件所在的目录并在那里运行 main.py 而不是其他目录。

    如果你不能这样做,那么你必须将该目录添加到你的 python 路径中。

  2. 你也可以尝试相对导入——试试吧from .ini_file_io import load_train_ini


推荐阅读