首页 > 解决方案 > Python 路径 - ImportError:无法导入名称“dataset_builder”

问题描述

我收到一个错误ImportError: cannot import name 'dataset_builder'。导入命令如下:

from object_detection.builders import dataset_builder

文件树如下所示:

-ObjectDetection
   -train.py     
   -models
     -research
       -object_detection
          -builders
             - __init__.py
             -dataset_builder.py

我正在train.py从根目录运行(os.getcwd() 返回以下路径C:\Users\horakm\PyCharmProjects\ObjectDetection),并添加了train.py以下代码以添加路径:

sys.path.append(r'C:\Users\horakm\PyCharmProjects\ObjectDetection\models')
sys.path.append(r'C:\Users\horakm\PyCharmProjects\ObjectDetection\models\research')
sys.path.append(r'C:\Users\horakm\PyCharmProjects\ObjectDetection\models\research\slim')

当我使用打印所有路径时,sys.path我得到了这个:

   ['C:\\Users\\horakm\\PyCharmProjects\\ObjectDetection', 
'C:\\Users\\horakm\\PyCharmProjects\\ObjectDetection', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\python36.zip', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\DLLs', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env', 
'C:\\Users\\horakm\\AppData\\Roaming\\Python\\Python36\\site-packages', 
'C:\\Users\\horakm\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32', 
'C:\\Users\\horakm\\AppData\\Roaming\\Python\\Python36\\site-packages\\win32\\lib', 
'C:\\Users\\horakm\\AppData\\Roaming\\Python\\Python36\\site-packages\\Pythonwin', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib\\site-packages', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib\\site-
packages\\object_detection-0.1-py3.6.egg', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib\\site-packages\\win32', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib\\site-
packages\\win32\\lib', 
'C:\\Users\\horakm\\AppData\\Local\\Continuum\\miniconda3\\envs\\tf1_env\\lib\\site-packages\\Pythonwin', 
'C:\\Users\\horakm\\PyCharmProjects\\ObjectDetection\\models', 
'C:\\Users\\horakm\\PyCharmProjects\\ObjectDetection\\models\\research', 
'C:\\Users\\horakm\\PyCharmProjects\\ObjectDetection\\models\\research\\slim']

导入语句怎么可能不起作用?

标签: python

解决方案


Which object are you actually trying to import?

  • All that are defined in dataset_builder? In that case it should be from object_detection.builders.dataset_builder import *.

  • Or is the object also called dataset_builder? In that case it is from object_detection.builders.dataset_builder import dataset_builder.


推荐阅读